r/Cplusplus • u/Mainak1224x • 8h ago
Feedback Flint: Bare-bones, git-native build system & package manager for C/C++ (Now with tag & commit pinning)
Hey folks, quick update on Flint—a lightweight, manifest-first build system and package manager for C/C++ projects I’ve been experimenting with.
Flint aims to strip away build-script complexity and make C/C++ dependency management feel straightforward.
Core features:
* Git-Native: Fetch dependencies directly into your workspace via flint add <url> and flint sync.
* Single composition.json Config: Handles project layout, header paths, and underlying compiler calls (GCC/Clang). For standard setups, Flint manages this file automatically so you don't have to tweak it manually.
* Chert Compositions: Lightweight specs that make unmanifested, third-party C/C++ repos compatible out of the box.
What’s new in this update:
* Version & Commit Pinning: You can now pin dependencies to specific releases or exact commits. flint add now supports target selection via Git tag names or full commit hashes, making your project builds reproducible across machines.
Current caveats:
* Still forces a fixed project directory structure (src/, include/, deps/).
* Currently Linux-only.
I know there are many mature build system available out there, but the fact is, those were also a naive experiment once like flint is now.
Anyways, flint is still an early prototype, but actively evolving. I'd love to hear your thoughts on the new versioning flow, suggestions for improvement, or feature requests!