A zero dependency, cross-platform build system for C++ projects.
- Zero Dependencies: All you need is a C++20 compiler and Git.
- Cross-Platform: Works on both Windows and Linux.
- Automatic Incremental Builds: Dependencies are tracked, and only affected steps are re-run.
- Simple Configuration: Uses a
csb.cppfile in the root for configuration. - Pre-Compiled Header Support: Easily use pre-compiled headers.
- Custom Build Steps: Define custom build steps for specialized tasks.
- Multi-Project Support: Easily use other projects that use CSBuild as a build system.
- Archive Support: Easily download and extract archives as part of the build process.
- Embed Support: Easily embed resources into compilation units.
- Json Support: Easily read from and write to JSON files.
- Pixel Data Support: Easily read pixel data from PNG files.
- VCPKG Integration: Integrates with VCPKG for package management.
- Clangd Integration: Generates a
compile_commands.jsonfile for clangd support. - Clang Format Integration: Integrates with Clang Format for code formatting.
- Windows or Linux OS.
- An environment with access to
cl,linkandlibon Windows orgcc,g++andaron Linux. - An environment with access to
git.
You can clone https://github.com/ConnorSweeneyDev/CSTemplate for a barebones template project.
For advanced usage, refer to CSEngine as an example.