4 ms·
The ideas embodied in modern target-oriented CMake are worthwhile. It's all hobbled by a dreadful script language but that could be improved with sufficient mot
by kevin_thibedeau 2y ago
The ideas embodied in modern target-oriented CMake are worthwhile. It's all hobbled by a dreadful script language but that could be improved with sufficient motivation.
- tom_ 2y agoI think what annoys me about it the most is that for every good idea in there there's one piece of tedious crap you have to work around, one actively bad misfeature that doesn't work properly, and one terrible aspect of the awful scripting language. (And two minor annoyances that people determined to hate CMake will never shut up about. But then, if you're determined to hate something, there are worse things than CMake to do it to! So I can't be too critical.)
- eru 2y ago> I think what annoys me about it the most is that for every good idea in there there's one piece of tedious crap you have to work around, one actively bad misfeature that doesn't work properly, and one terrible aspect of the awful scripting language. Sounds like the perfect match for C++.
- cmrdporcupine 2y agoIt's hobbled not just by that but by the fact that it's not the thing doing the building. It's a build system for build systems, and suffers from brittleness and confusion as a result.
- kevin_thibedeau 2y agoMake, in all its various implementations, is far more brittle than CMake. Ninja requires a meta-build tool like CMake.
- dgfitz 2y agoKevin, I must be missing something. CMake can generate a makefile, and this is the usual usecase. So a new language generating a makefile is even _more_ brittle than make, if your assertion is correct.
- actionfromafar 2y agoWhile I have no love lost for CMake at all, that's a bit like saying a compiler which generates assembler is brittle.