Hey everyone,
I’ve spent the last year building Zyn — a zero-boilerplate build system for C/C++ projects.
It started with a simple frustration: why do I need 50 lines of CMake or Conan config just to use a GitHub library?
With Zyn you just need to put a reference to the library in config.zyn in the [dependencies] section
and boom — Zyn clones the repo, builds it, and links it to your project. No CMakeLists.txt, no conanfile.py, no manual target_include_directories, nothing.
Key Features
Automatic project init (zyn init debug)
Works out of the box — no toolchain hell
Future plans: IDE project generation, CI/CD integration, Windows/macOS support
Why Zyn?
Because build systems shouldn’t get in your way. You shouldn’t need to become a CMake black belt just to compile your code.
Zyn is made for people who want to start fast, stay clean, and ship.
I’d love your feedback. Especially from those who’ve worked with CMake, Meson, Bazel, or Conan in real projects.
Tell me what sucks, what’s missing, or if the core idea makes sense at all.
> It started with a simple frustration: why do I need 50 lines of CMake or Conan config just to use a GitHub library?
And what answer did you reach? When is it legitimately appropriate? What do we lose out on by using your utility that these older tools do take care of?
gjvc · 2h ago
"we"? do you have any idea how pompous you sound?
90s_dev · 2h ago
We meaning potential users of this build system... I genuinely have no idea what you're on about. I'm just asking for a pros/cons table, pretty standard for a project like this and no knock against it.
bogwog · 1h ago
> It started with a simple frustration: why do I need 50 lines of CMake or Conan config just to use a GitHub library?
I'm on my phone, and doing this entirely from memory, so I might get some details wrong (although its not too far off), but heres a minimal example of using a lib with Conan+CMake:
conanfile.txt:
[requires]
somelib/1.0.0
[generators]
CMakeDeps
CMakeLists.txt:
find_package(somelib)
...
target_link_libraries(target somelib)
Done. That's 6 lines of code, not 50. Sure, you can't use the full power of Conan with the simpler conanfile.txt, but it's a tradeoff that's fine for most simple cases.
So my question is: if we're comparing Conan's simple mode with your build system, what does yours do better?
(I definitely don't consider myself a CMake black belt)
It started with a simple frustration: why do I need 50 lines of CMake or Conan config just to use a GitHub library?
With Zyn you just need to put a reference to the library in config.zyn in the [dependencies] section and boom — Zyn clones the repo, builds it, and links it to your project. No CMakeLists.txt, no conanfile.py, no manual target_include_directories, nothing.
Key Features Automatic project init (zyn init debug)
Works out of the box — no toolchain hell
Future plans: IDE project generation, CI/CD integration, Windows/macOS support
Why Zyn? Because build systems shouldn’t get in your way. You shouldn’t need to become a CMake black belt just to compile your code. Zyn is made for people who want to start fast, stay clean, and ship.
I’d love your feedback. Especially from those who’ve worked with CMake, Meson, Bazel, or Conan in real projects. Tell me what sucks, what’s missing, or if the core idea makes sense at all.
GitHub: https://github.com/zyntraxis-corp/zyn
Thanks for reading
And what answer did you reach? When is it legitimately appropriate? What do we lose out on by using your utility that these older tools do take care of?
I'm on my phone, and doing this entirely from memory, so I might get some details wrong (although its not too far off), but heres a minimal example of using a lib with Conan+CMake:
conanfile.txt:
[requires]
somelib/1.0.0
[generators]
CMakeDeps
CMakeLists.txt:
find_package(somelib)
...
target_link_libraries(target somelib)
Done. That's 6 lines of code, not 50. Sure, you can't use the full power of Conan with the simpler conanfile.txt, but it's a tradeoff that's fine for most simple cases.
So my question is: if we're comparing Conan's simple mode with your build system, what does yours do better?
(I definitely don't consider myself a CMake black belt)