Hacker News new | ask | show | jobs
by lifthrasiir 789 days ago
No, CMake is a compatibility layer on top of existing task runners like make and ninja. I don't want a compatibility layer, and also CMake has even more features than make.
1 comments

CMake is a (not the) correct answer according to the Ninja manual[1]. "Some explicit non-goals: convenient syntax for writing build files by hand. You should generate your ninja files using another program. This is how we can sidestep many policy decisions."

The other options are here: https://github.com/ninja-build/ninja/wiki/List-of-generators...

[1] https://ninja-build.org/manual.html#_design_goals

It is entirely correct that Ninja is technically designed for a related but different problem. But you can write Ninja by hand with some restrictions (I have done so for example), so bring back some of those sidestepped decisions may still be worthwhile.