Back to browse
GitHub Repository

A lightweight build and workflow tool for C/C++

246 starsC

I built a Cargo-like build tool for C/C++

by randerson_112·Apr 9, 2026·177 points·168 comments

AI Analysis

●●SolidSolve My ProblemNiche Gem

CMake generation from TOML beats writing boilerplate, but Conan and vcpkg already handle deps.

Strengths
  • Automatic CMakeLists.txt generation from simple craft.toml config eliminates boilerplate
  • Dependency commands handle git cloning and CMake wiring automatically
  • Project templates let you save and reuse entire project structures instantly
Weaknesses
  • Still requires CMake installed — adds abstraction layer rather than replacing it
  • Build tool space is extremely crowded with Conan, vcpkg, Meson, and Bazel
Target Audience

C and C++ developers tired of writing CMake by hand

Similar To

Conan · vcpkg · CMake Presets

Post Description

I love C and C++, but setting up projects can sometimes be a pain.

Every time I wanted to start something new I'd spend the first hour writing CMakeLists.txt, figuring out find_package, copying boilerplate from my last project, and googling why my library isn't linking. By the time the project was actually set up I'd lost all momentum.

So, I built Craft - a lightweight build and workflow tool for C and C++. Instead of writing CMake, your project configuration goes in a simple craft.toml:

[project] name = "my_app" version = "0.1.0" language = "c" c_standard = 99

[build] type = "executable"

Run craft build and Craft generates the CMakeLists.txt automatically and builds your project. Want to add dependencies? That's just a simple command:

craft add --git https://github.com/raysan5/raylib --links raylib craft add --path ../my_library craft add sfml

Craft will clone the dependency, regenerate the CMake, and rebuild your project for you.

Other Craft features: craft init - adopt an existing C/C++ project into Craft or initialize an empty directory. craft template - save any project structure as a template to be initialized later. craft gen - generate header and source files with starter boilerplate code. craft upgrade - keeps itself up to date.

CMakeLists.extra.cmake for anything that Craft does not yet handle.

Cross platform - macOS, Linux, Windows.

It is still early (I just got it to v1.0.0) but I am excited to be able to share it and keep improving it.

Would love feedback. Please also feel free to make pull requests if you want to help with development!

Similar Projects