4 ms·
CMake is absolutely terrible if not destructive for non-trivial projects that require frequent build system updates and restructuring (especially those tied to
by armitron 8y ago
CMake is absolutely terrible if not destructive for non-trivial projects that require frequent build system updates and restructuring (especially those tied to cross-compilation).
GNU Make might have its share of issues but compared to CMake, it's dead simple and I've never once in 20 years of programming encountered a build issue I could not debug.
CMake has had me throw up my hands and give up in despair far too many times. It boggles the mind that people continue to use such a rotten tool. Probably because it looks attractive, superficially, but if one examines it in more detail any possible justifications for using it should completely fall apart.
- ridiculous_fish 8y agoHow do you use create a portable non-trivial project with make? How do you do discover what libraries, headers, functions, etc. are available?
- mcguire 8y agoThat's what the autotools are for. Yes, they're horrible. The problem is horrible and the autotools are worse. But they work.
- ridiculous_fish 8y agoAutotools do work, but what autotools user can sneer at cmake? So I guess OP is using something else, which is why I asked.
- tom_ 8y agoIt's indeed worth noting that cmake only supports one toolchain at a time, so it's currently not possible to build for the host while cross-compiling. This is a complete showstopper for certain types of eminently sensible build process, so if you've got one of those then you should look elsewhere. In other respects, my experience has been exactly the opposite of yours. Right down to the supposed superficial attractiveness of CMake ("LOL", that's all I can say - shit's a fucking disaster zone at first glance!) that turns into horror on closer examination. (Since in my view, it actually mostly makes the right decisions internally - you just need to get past the spitefully bad scripting language.)