3 ms·
CMake is very decent. Yes, they have some sort of language that requires learning, but it's really trivial and the big bonus is that you can write plugins for y
by shin_lao 16y ago
CMake is very decent. Yes, they have some sort of language that requires learning, but it's really trivial and the big bonus is that you can write plugins for your own libraries.
It's fairly easy to search and link to third-party libraries. Really, yes, the language is a tad weird, but very simple and frankly it's a small price to pay to have a real cross platform C++ makefile system.
As you said the fact that CMake supports Windows and Visual Studio out of the box is a big plus as well.
CMake also enables you to automatically run unit tests and package your release into a tar.gz or a setup.
Really, we're very, very happy with CMake and the effort we put in it paid off a lot. I really encourage anyone needing cross platform makefiles to check it out.
To sum it up, CMake is a makefile compiler. You write your makefile in "CMake", and it compiles it into a classic Makefile, Visual Studio project, etc.
- cconstantine 16y agoWe've built a decent system here that relies on ant, make, vs_2003, .bat files, and some custom python scripts. It even works on both platforms (windows/redhat)! </sarcasm> I've played around with CMake also, and I've found it to be the most reasonable. This is especially true if you have a diverse team with members that prefer Emacs/VI or Visual Studio and a project that needs to work natively on multiple platforms. Different people work better in different environments, and there's nothing wrong with that. It's not perfect, but I find myself saying 'WTF' less when using CMake. I have no idea why they decided to make their own little language, but its syntax is super-simple, and very well documented.