net.catcrafts.CrafterBuild Crafter Build C++26 modules build system CC0-1.0 LGPL-3.0-only Catcrafts

A build system for C++26 modules. Project descriptions are C++: a project.cpp constructs a Configuration and returns it, and crafter-build compiles, loads and executes it. The Flatpak carries its own LLVM, so every machine builds with the same clang, lld, libc++ and WASI sysroot.

https://forgejo.catcrafts.net/Catcrafts/Crafter.Build https://forgejo.catcrafts.net/Catcrafts/Crafter.Build/issues https://forgejo.catcrafts.net/Catcrafts/Crafter.Build crafter-build

The bundled toolchain is now LLVM 23.1.2. Build outputs are kept per compiler, so the first build after updating recompiles each project into a fresh directory and nothing has to be cleaned by hand.

Cross builds pick the std module source that matches the sysroot's libc++ release. The source for libc++ 22 ships beside the bundled 23 for sysroots that carry libc++ without one, such as Alpine, and a sysroot nothing matches fails with one line naming both releases. crafter-build --version prints the libc++ release in use.

First release distributed as a Flatpak, with a bundled LLVM 22 toolchain and WASI sysroot. Windows host support is removed; crafter-build gains --version and resolves its compiler from one place.