6 ms·
If you think cmake isn't very good, the solution isn't to add more layers of crap around cmake, but to replace it. Cmake itself exists because a lot of humans h
by dima55 5mo ago
If you think cmake isn't very good, the solution isn't to add more layers of crap around cmake, but to replace it. Cmake itself exists because a lot of humans haven't bothered to read the gnu make manual, and added more cruft to manage this. Please don't add to this problem. It's a disease
- wiseowise 5mo agoI'm all for shitting on CMake, but Jesus, to suggest Make as a replacement/improvement is an unhinged take.
- dymk 5mo agoAs much of a dog as cmake is, "just use make!" does not solve many of the problems that cmake makes a go at. It's like saying go write assembler instead of C because C has so many footguns.
- dima55 5mo agoGNU Make has a debugger. This alone makes it far superior to every other build tool I've ever seen. The cmake debugging experience is "run a google search, and try random stuff recommended by other people that also have no idea how the thing works". This shouldn't be acceptable.
- beckford 5mo agoThat hasn't been true for a few years at least. https://www.jetbrains.com/help/clion/cmake-debug.html https://www.jetbrains.com/help/clion/cmake-debug.html is has had CMake debugging since cmake 3.27. Ditto for vscode and probably other C IDEs I am not familiar with. So does Gradle for Java. GNU make is hardly exclusive.
- randerson_112 5mo agoThis is very true. My thought process was that since majority of projects already run on CMake, I would simply build off of that and take advantage of what CMake is good at while making the more difficult operations easier. Thank you for your feedback!
- ahartmetz 5mo agoCMake does three main things: Compilation with dependency tracking, finding external dependencies, and platform-independence. Make only does one of them. Another comment suggested batch files - these do zero out of three.