Top Rated CMake Alternatives
17 CMake Reviews
I love the format of the configuration files, they're fairly down to earth and look somewhat like the code I'd be writing whilst using CMake anyway so it's got that going for it. Configuring it once you get the hang of it is a breeze and it has strong support from the communities which rely on it so you can feel secure knowing that you'll be able to rely on it for a long time. Review collected by and hosted on G2.com.
I'm not a huge fan of the man-esque online documentation, for people who aren't familiar with *n*x man pages a simple search for how to do something could turn into a witch hunt for something which turns out to be a single line. It's intimidating for people looking to get into using software like it really. Review collected by and hosted on G2.com.

Well, where do I start. I started using make many years ago and then ran into CMake. Since then I haven't written several hundred to thousand line makefiles. Instead I spend my time on larger problems which is I guess the favorite part, the time savings. I do enjoy the rich feature set as well though, it integrates well with GIT, FTP, HTTP, etc and you can script anything that you want to script with it using their own syntax.
Review collected by and hosted on G2.com.
I did hate the learning curve as it has its own syntax that I think was designed directly opposite of how I think at times. Probably the hardest part for me initially was to determine how to get dependencies to link correctly. Additionally another nitpick is that documentation is not always the best for what you are trying to do. Review collected by and hosted on G2.com.

Compared to the classic autotools used to generate Makefiles for the vast majority of opensource projects, cmake is breeze of fresh air of simplicity. You don't have to know all the arcane variables and function names in autoconf and automake.
You also are relieved from the clutter of files that need to be in the root of your project to build the project. Simply put cmake is a more simpler and efficient approach to building projects and with possibility to use third party modules, you can simply extend it functionalities Review collected by and hosted on G2.com.
Other that the learning curve, I would say that the lack of a central repository for the third party modules is the main negative point for cmake. You can have multiple implementation for the same module with different degree of correctness. If you need something not shipped with the cmake official package, you are more likely to combine multiple chunks from various third party modules to achieve your goal. Review collected by and hosted on G2.com.

CMake solves the problem of crossplatform developing and libraries/headers hell by defining a meta-language which helps the developer to reproduce the configuration of a project on different machines under different configurations.
CMake makes it possible to integrate a C++ project (but also other languages are supported, such as Java and C#) with a Continuous Integration System such as Jenkins and perform automating testing. All the major platforms are supported and it's possible to compile easily for other architectures as well (e.g. from a x86 host to an ARM target) thanks to toolchain files. Review collected by and hosted on G2.com.
It misses a kind of registry of CMake files for existing projects, so users can just download those files and integrate those ones in other project. Review collected by and hosted on G2.com.

CMake uses plain text files to configure which allows it to be configured specifically for each project you are working on. It also includes a number of automatic library finding packages which ease the pain of header location. Review collected by and hosted on G2.com.
Unfortunately, like many C++ compilers it can be a bit slow. However, it is, in my opinion, a better alternative to the GNU Autotools. Review collected by and hosted on G2.com.
Once it works, it's great. It's incredibly flexible, dead simple, and Just Works. The GUI is great to use and I frequently switch between it and the command line tool.
I have no complaints with using CMake as long as I'm not writing the files myself.
There's built in support for unit test frameworks and is highly customize-able.
Many parts of the language are great. It's easy to set required options, to find installed packages, or to list files in a folder.
I rarely write C++ without using CMake. Even if it's just me using it, and I'll only need a single version of Visual Studio. Review collected by and hosted on G2.com.
It can be frustrating to use. The language is a weird mixture of built-in functions, concatenating strings, and writing macros. The language is just weird. It works, eventually, but I haven't grokked it yet. Review collected by and hosted on G2.com.

CMake does a fantastic job of replacing autotools and is a capable replacement for Qt profiles. If you have a complex build environment, then it makes total sense to use CMake to manage it. It's much easier to write the CMake config files than it is to manage a large number of makefiles. It's fast, easy, and can be done in any text editor if you need to. Review collected by and hosted on G2.com.
The use of functions can be intimidating. Usage of multiple CMake files can be a bit overwhelming. However, with good SCM, this is not a real problem. Review collected by and hosted on G2.com.