58 lines
1.8 KiB
Markdown
58 lines
1.8 KiB
Markdown
# LXC
|
|
|
|
LXC is a compiler to compile .lx files into .c files. LX is a custom langauge that I have developed.
|
|
It is currently in development.
|
|
|
|
### Build
|
|
|
|
##### Windows
|
|
|
|
Requirements:
|
|
- Git `winget install git.git`
|
|
- Ninja(recommended) `winget intall ninja-build.ninja`
|
|
- Windows SDK, can be downloaded via [VS22 C++ software development](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&passive=false&cid=2030)
|
|
|
|
Clone the repository and install all git-submodules.
|
|
```powershell
|
|
git clone https://github.com/PashaBibko/LXC.git LXC
|
|
cd LXC
|
|
git submodule update --init --recursive
|
|
```
|
|
|
|
Build the project, Ninja is recommended for use on windows. VS22 can be used but requires additional setup.
|
|
The outputted binaries are available in the root directory.
|
|
```powershell
|
|
mkdir build
|
|
cd build
|
|
cmake .. -G Ninja
|
|
cmake --build .
|
|
```
|
|
|
|
##### UNIX based
|
|
|
|
Clone the repository and install all git-submodules.
|
|
```bash
|
|
git clone https://github.com/PashaBibko/LXC.git LXC
|
|
cd LXC
|
|
git submodule update --init --recursive
|
|
```
|
|
|
|
Builds the project files, the outputted binaries will be available in the root directory.
|
|
```bash
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
cmake --build .
|
|
```
|
|
|
|
##### Other
|
|
|
|
Operating systems that are not listed above are not supported. To run the code you will have to modify it yourself.
|
|
All code that should need to be changed is within the [Common modules](https://github.com/PashaBibko/LXC/tree/main/Common/modules).
|
|
|
|
### Example use
|
|
|
|
Some examples of LX code can be found within the [examples folder](https://github.com/PashaBibko/LXC/tree/main/examples).
|
|
To compile them you will have to set the file location within [LXC.cpp](https://github.com/PashaBibko/LXC/blob/main/LXC/LXC.cpp),
|
|
this is temporary and in the future you will be able to call from the command line.
|