Skip to content

Repository files navigation

ReBuildTool (WIP)

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).

Features

  • C# rule files.target.cs / .module.cs describe 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 .sln and CMake projects
  • Self-updatingrbt-updater rebuilds RBT from its own repo

Installation

Prerequisites: Git and .NET 8 SDK must be installed.

Linux / macOS

curl -fsSL https://raw.githubusercontent.com/vgvgvvv/ReBuildTool/main/BuildScript/Install.sh | bash

After installation, restart your terminal or run source ~/.bashrc (or ~/.zshrc), then verify:

rbt --help

Windows (PowerShell)

Invoke-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 --help

The installer clones ReBuildTool to ~/.rbt (Linux/macOS) or %USERPROFILE%\.rbt (Windows), builds all binaries, and adds the directory to your PATH automatically.

Quick Start

# Bootstrap a new project
./RBTBooster.sh --init MyGame

# Build
./BuildProject.sh
# or directly:
rbt --ProjectRoot . --Mode Build --Target MyGame

Documentation

Continuous Integration

Every 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.

About

yet another build system

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages