Files
LXC/README.md
Pasha Bibko 0112dc0401 Update README with development status
Removed WIP note from documentation link and added development status.
2025-11-10 10:52:08 +00:00

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.