a fast, dependency-free, build-file generator
Builderer is a fast, dependency-free build file generator for C/C++/Objective-C projects. It generates native Makefiles and Visual Studio solutions from Python-based build descriptions.
Builderer is in early development and is actively used to maintain a multi-million line, multi-platform research monorepo. It currently supports Windows (MSBuild), Linux/macOS (Make), and WebAssembly (Emscripten). Additional platforms and build systems (Xcode, Ninja) are planned. APIs may change as the project evolves.
Builderer bridges the gap between traditional project generators like CMake and build-and-execute systems like Bazel and Buck. It’s fundamentally a project file generator, but includes convenience commands (build, run) that make working with C++ code more seamless.
Compared to CMake:
CMake is the industry standard with excellent IDE integration, mature tooling, and comprehensive documentation. However:
apt often lack the version you need. Builderer embeds per-project, guaranteeing consistency for each projectCompared to Bazel and Buck:
Bazel and Buck are powerful for massive monolithic repositories (tens of millions of lines) with sophisticated caching and distributed builds. They were designed at large tech companies for extreme scale. However:
Builderer targets smaller teams and projects (up to a few million lines of code) where simplicity and lower complexity yield better developer efficiency than the infrastructure overhead required at massive scale
Builderer’s approach:
build and run commands for seamless workflow without sacrificing IDE integrationBuilderer is in early development and lacks the maturity, feature breadth, and community support of established tools. It’s designed for projects that value simplicity, Python familiarity, lightweight tooling, and standalone build file generation.