Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Personally I see CMake as the best way to work with portable C/C++ these days, as it supports Linux/Mac/Windows, including library-detection and everything else a traditional autotools "./configure" script does.

That said, I'm not a fan of the CMake scripting language, which is quirky and error-prone. It should be easy to write a new 'Find' module, but it's not. There should be officially documented design patterns to make the task trivial. There still aren't.

CMake gets the job done, but it's surprisingly difficult to work with.

</rant>



Not everything else. One particular thing cmake does not do well that bugs me quite a lot is supporting source code generators, especially in cross compilations, where those source code generators are themselves written in C or some other language requiring compilation. With Makefiles, whether with autotools or manually written ones, this is easy to set up with a few custom rules. With cmake, those generators need to be turned into standalone projects.


I really want to like CMake, but having spent the past 5 years using qmake daily, CMake seems very voodoo-ish and archaic.


Too bad, Qt project itself is moving to CMake as its main build tool: https://bugreports.qt.io/browse/QTBUG-73351


I'm aware.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: