A C#-driven native build system in the spirit of Unreal Engine's UBT. Describe Targets and Modules as small C# classes (.target.cs / .module.cs); RBT compiles those rule files on the fly and drives a real C/C++ toolchain (MSVC, Clang, GCC, Wasm) and IDE project generator (Visual Studio / CMake).
- C# rule files —
.target.cs/.module.csdescribe your build graph; no separate DSL to learn - Multi-toolchain — MSVC (VS2017/2019/2022 auto-detect), Clang, GCC, Wasm
- Cross-platform — Windows, Linux, macOS (x64 & arm64)
- Package management — declare git/path dependencies in
RBTPackage.json; RBT resolves them transitively, pins them in a lock file and folds their modules into the build - IDE integration — generates Visual Studio
.slnand CMake projects - Self-updating —
rbt-updaterrebuilds RBT from its own repo
Prerequisites: Git and .NET 8 SDK must be installed.
curl -fsSL https://raw.githubusercontent.com/vgvgvvv/ReBuildTool/main/BuildScript/Install.sh | bashAfter installation, restart your terminal or run source ~/.bashrc (or ~/.zshrc), then verify:
rbt --helpInvoke-WebRequest "https://raw.githubusercontent.com/vgvgvvv/ReBuildTool/main/BuildScript/Install.bat" -OutFile "$env:TEMP\rbt-install.bat"; cmd /c "$env:TEMP\rbt-install.bat"After installation, restart your terminal, then verify:
rbt --helpThe installer clones ReBuildTool to
~/.rbt(Linux/macOS) or%USERPROFILE%\.rbt(Windows), builds all binaries, and adds the directory to yourPATHautomatically.
# Bootstrap a new project
./RBTBooster.sh --init MyGame
# Build
./BuildProject.sh
# or directly:
rbt --ProjectRoot . --Mode Build --Target MyGameEvery push and pull request builds the solution and runs the test suite on
Windows, Linux and macOS — each leg driving that platform's real C/C++ toolchain
against the Sample/ projects — and publishes the self-contained binaries for
all four target RIDs. See Doc/CI.md for the job layout and for how
to make the CI check required on main.