These are the building instructions for the PCIT Project software.
This has only been fully tested on Windows.
As of 2025-12-20, any non-debug build of PCIT with Visual Studio 2026 will not work. It seems there's a bug in the code generation of MSVC v145.
At the moment, PCIT relies on LLVM, so we need to build LLVM first.
There is a GitHub repository that contains the scripts required to download the LLVM Project source code and build it. A Windows version (.bat) and a Unix version (.sh) exist. Get the correct script for your machine.
Run the script. It will automatically clone the LLVM repository and compile. Here's an example with the windows version:
./build_llvm.windows.bat --build release
To see more options with the build script (such as a debug build or skipping cloning) you can run the following:
./build_llvm.windows.bat --help
LLVM should now be compiled. The output will be found in directory llvm_package_20.0.8/[release|debug]/output. Inside you will find two directories: include and lib-[release|debug]. These directories will be copied or moved later.
Now that we have build LLVM, we can build PCIT.
git clone https://github.com/PCIT-Project/PCIT-CPP.git --recursive
The --recursive argument is required to also clone Evo (a C++ standard library), the Panther standard library, and libc. These (in addition to LLVM) are the only dependencies that PCIT-CPP has.
Inside the /PCIT-CPP/dependencies/, add the directory LLVM_build. Copy or move (whichever you prefer) the two directories discussed in step 3 of Building LLVM (include and lib-release) into this directory.
Premake is a build system configurator, so Premake5 is used to configure the build system. For more information, you can run premake5 --help. Navigate to the main directory of the PCIT-CPP repository, and select one of the following methods of running Premake5:
premake5 vs2022
premake5 gmake --cc=[COMPILER]
Replace "[COMPILER]" with one of the following options
Open PCIT-CPP.sln in Visual Studio, set the build configuration to ReleaseDist, and compile.
make configuration=releasedist_linux
The generated output is in ./build/[Windows|Linux]/ReleaseDist/bin/. Enjoy PCIT Project!
Now that you have successfully built the PCIT Project software, maybe check out one of our tutorials.