April 9, 2026
Build wars: now with extra salt
I built a Cargo-like build tool for C/C++
‘Craft’ aims to tame C/C++ builds — cheers, Bazel flexes, copy‑paste install panic
TLDR: Craft promises easier C/C++ projects by auto‑generating build files and managing dependencies, like Rust’s Cargo. The comments split fast: critics want CMake replaced, not wrapped; others balk at the copy‑paste install; and the Bazel crowd says “use ours”—showing how messy C/C++ build tooling still feels to developers.
A new tool called Craft just hit the scene promising to make C and C++ projects feel more like Rust’s famously easy setup. The pitch: describe your app in one simple file, and Craft will auto‑generate the messy build scripts, pull in dependencies, and give you clean commands like build and run. Think “one‑click start” for a world that usually feels like assembling IKEA furniture without the manual. There are templates, a quick start, and a friendly vibe — plus a GitHub install for Craft that screams “modern dev life.”
Then the comments lit up. One camp side‑eyed the whole idea of generating files for CMake (the complicated tool that usually glues C/C++ projects together), with a top‑liked critique calling it a “meta‑meta build system” and insisting Craft should replace CMake, not wrap it. Another crowd panicked over the classic “copy this command and run it in your terminal” install, warning it “does not inspire confidence.” Meanwhile, a drive‑by hero yelled “just use Bazel,” invoking Google’s heavyweight build system and daring the downvotes. Others shared DIY alternatives like fibs, and a practical voice asked the real question: how does Craft actually find all the library pieces without chaos? It’s hope vs. skepticism, sugar vs. salt, and the age‑old dev meme: “pick a build tool, start a war.”
Key Points
- •Craft is a Cargo-like build tool for C/C++ that uses a craft.toml file to define projects.
- •It auto-generates CMakeLists.txt, fetches dependencies (git or local), and builds via CMake.
- •Commands include project creation (craft project), initialization/migration (craft init), build (craft build), and run (craft run).
- •Templates can be created and used for rapid project setup; built-in templates exist for executables and libraries.
- •Installation scripts are provided for macOS, Linux, and Windows; requirements include git and cmake.