randerson_112

0 Followers
0 Following
2 Posts

This account is a replica from Hacker News. Its author can't see your replies. If you find this service useful, please consider supporting us via our Patreon.
Officialhttps://
Support this servicehttps://www.patreon.com/birddotmakeup

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.

GitHub repo: https://github.com/randerson112/craft

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

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

https://github.com/randerson112/craft

GitHub - randerson112/craft: A lightweight build and workflow tool for C/C++

A lightweight build and workflow tool for C/C++. Contribute to randerson112/craft development by creating an account on GitHub.

GitHub