---
title: CMake Reviews
meta_title: 'CMake Reviews 2026: Details, Pricing, & Features | G2'
meta_description: Filter 17 reviews by the users' company size, role or industry to
  find out how CMake works for a business like yours.
aggregate_rating:
  rating_value: 4.3
  review_count: 17
  scale: '5'
date_modified: '2026-06-21'
parent_category:
  name: CI/CD Tools
  url: https://www.g2.com/categories/ci-cd-tools
---

# CMake Reviews
**Vendor:** Kitware  
**Category:** [Other Continuous Delivery Software](https://www.g2.com/categories/other-continuous-delivery)  
**Average Rating:** 4.3/5.0  
**Total Reviews:** 17
## About CMake
CMake is a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice.




## CMake Reviews
  ### 1. CMake Review

**Rating:** 4.0/5.0 stars

**Reviewed by:** Sinan . | Network Engineer, Mid-Market (51-1000 emp.)

**Reviewed Date:** January 14, 2022

**What do you like best about CMake?**

It  is a cross-platform tool so everything can be build and test and package in the same software to go with it. You can make a single source tree to make multiple projects.

**What do you dislike about CMake?**

From the cmake website itself there is no good website to guide you or give some examples to build or troubleshoot the problem. Also, the community is very low for this product.

**What problems is CMake solving and how is that benefiting you?**

For solving questions with the 1 product and also with this product you can do everything 1 package to compile everything. Especially compiling the old products written in C and C++

  ### 2. A Must Try for Programmers

**Rating:** 3.5/5.0 stars

**Reviewed by:** Inci C. | Telecommunication Engineer, Small-Business (50 or fewer emp.)

**Reviewed Date:** January 19, 2022

**What do you like best about CMake?**

What I like best about this product is, it lets me be more organized between my projects and it has different kinds of libraries for different stages of coding, namely static, shared and module.

**What do you dislike about CMake?**

Using Cmake could be challenging for beginners. It is not a well-known product. Because the community is small, when you face a problem, you can not reach many people.

**What problems is CMake solving and how is that benefiting you?**

I'm using Cmake for open source project. Cmake makes sure your focus is on coding rather than compiling, testing, packaging, linker, libraries, etc.because these are tiny problems for Cmake.

  ### 3. Build and test software.

**Rating:** 3.5/5.0 stars

**Reviewed by:** Remigio J. | Application and Content Designer, Mid-Market (51-1000 emp.)

**Reviewed Date:** September 17, 2021

**What do you like best about CMake?**

Control the compilation process, independent configuration file and online service support.
Independent community of development and constant communication to correct errors and apply improvement.

**What do you dislike about CMake?**

Installing on little known GNU Linux distributions is long, compile and search for source code.

**Recommendations to others considering CMake:**

N/A

**What problems is CMake solving and how is that benefiting you?**

Renewal process, activity control and financial security and personalized system.
Intelligent development of complex applications and reproduction of digital content.

  ### 4. Cmake is one of the best tool

**Rating:** 5.0/5.0 stars

**Reviewed by:** Gaurav Kumar G. | Software Engineer L5 and Software Architect, Enterprise (> 1000 emp.)

**Reviewed Date:** March 10, 2020

**What do you like best about CMake?**

Cmake is one of the best tool I have to generate make file and for making build. It will free you from lots of burden and save time for building. I really recommend cmake.

**What do you dislike about CMake?**

I did not see any negative points in cmake as of now

**Recommendations to others considering CMake:**

Cmake is very easy to use to make your life easier

**What problems is CMake solving and how is that benefiting you?**

I basically need to to build my C++ projects, it solve me making my build very easy

  ### 5. Reliably, powerful.

**Rating:** 4.0/5.0 stars

**Reviewed by:** Cosmin P. | Software Developer, Small-Business (50 or fewer emp.)

**Reviewed Date:** March 09, 2020

**What do you like best about CMake?**

Power of the cmake is tremendous, you can use it in so many ways, building packages was the most used by me.

**What do you dislike about CMake?**

A little hard to understand in the beginning.

**What problems is CMake solving and how is that benefiting you?**

Building QT programs with Cmake, usage of packages from rOS, or external dependencies.

  ### 6. For quick, efficient and cross-platform solution builder

**Rating:** 4.5/5.0 stars

**Reviewed by:** Verified User in Research | Enterprise (> 1000 emp.)

**Reviewed Date:** April 02, 2018

**What do you like best about CMake?**

I love the fact that I can create a general solution and just and projects after the other so easily, rebuild the entire solution, change environment... everything while staying cross-platform.

**What do you dislike about CMake?**

The tool is a bit low level and a few of my coworkers are reluctant to use it because it can be scary and seem complicated at the beginning.

**Recommendations to others considering CMake:**

Do not be scared and take the time to learn how to use it properly, you'll save time on the long run.

**What problems is CMake solving and how is that benefiting you?**

I easily build proof of concept and demonstration for my prospects and customers and keep everything on my machine, in a global environment which I never have to change !

  ### 7. Easy-to-use deployment system

**Rating:** 4.5/5.0 stars

**Reviewed by:** Verified User in Mechanical or Industrial Engineering | Enterprise (> 1000 emp.)

**Reviewed Date:** March 07, 2018

**What do you like best about CMake?**

CMake is easy to begin with compared to GNU autotool chains, just follow the official instructions. You could find library and add the include and linking directories with just one line. CMake can even download / compile / install dependencies automatically. 

**What do you dislike about CMake?**

Although CMake is easy to begin with, CMake does lots of tricks, which sometimes make its behaviors unpredictable. You have to be very careful and follow the official documents closely to avoid some annoying problems. But for most projects we do not have to use these fancy features, CMake is still the only deployment system that I use.

**Recommendations to others considering CMake:**

Use CMake instead of GNU autotool chains if this is your in-house code. 

**What problems is CMake solving and how is that benefiting you?**

depolyment system for in-house code.

  ### 8. the non-elegant standard for cross-platform builds

**Rating:** 3.5/5.0 stars

**Reviewed by:** Trevor H. | Senior Software Engineer, Enterprise (> 1000 emp.)

**Reviewed Date:** December 28, 2017

**What do you like best about CMake?**

You thought writing software was hard?  Try getting it to build and run on all kinds of different devices and operating systems.  This is where CMake shines.  It's currently the best build system out there for cross-platform development.  Getting software to work on Windows, Mac, and the various flavors of linux is still no easy task, but CMake is the answer from the build perspective.

It also has a big community and tooling support has been growing rapidly.
You'll be able to find some kind of IDE support guaranteed.  Visual Studio / Jet Brains.  
The support was added recently, but you should be able to use it in production.

**What do you dislike about CMake?**

Terrible syntax, and very slow start up times.  Let me begin with the start-up times.  We actually had to move away from CMake because our code base got so large that the initial parsing and book-keeping of CMake was taking way too long.  We'd wait 5 minutes just to have CMake tell us that everything was already built.  Maybe there were work-arounds for this, but overall we decided to switch to the big hitters (buck, blaze, bazel, ninja).  

The syntax is bad but most people just shrug and say, "hey as long as I can get my software built".  
The thing is though, that eventually you'll want to mix languages, mix compilers, do debugs, releases, doc generation, special test artifacts, and the syntax of Cmake becomes a hindrance.  Other languages let you build rules in a python/groovy like syntax, and this is key.  The language of a build system is more important than people first realize, and kludging together your build with a hacky macro language becomes a deal breaker.

**Recommendations to others considering CMake:**

If you're working in a small project (say less than 5,000 files), CMake is a good choice.  
Regardless of what operating system you're developing on, and regardless of your targets, CMake is a good choice.  It has a great community.  If you have issues, there are plenty of people to help answer questions.  If you are only on linux, mixing languages, and your codebase is very large, take a look at some of the build systems that have come out of Facebook / Google instead.

**What problems is CMake solving and how is that benefiting you?**

Again, CMake solves the problem of cross-compilation through consistency of single build files.  
Its pretty simple to take a working CMake example and roll with it.  The barrier of entry to using CMake is low,  but the difficulty increases as you attempt to do unique and novel things within your software build.  Yet, I'd still say that CMake is much easier than writing raw Makefiles.  CMake provides a hint of confidence to users in the open source community as well.  I'm much more willing to contribute to a project if I see Cmake, as apposed to raw makefiles (or no build files at all).

  ### 9. The gold standard build tool for most projects 

**Rating:** 4.5/5.0 stars

**Reviewed by:** Subhendu M. | Systems engineer, Information Technology and Services, Enterprise (> 1000 emp.)

**Reviewed Date:** October 21, 2016

**What do you like best about CMake?**

CMake ties every build tool together with a glue, be it for make for linux or mingw-make/vs for windows. No more dependency errors, Has in-built os specific macros to search for libraries needed to compile. Has a nice gui for those who need it. Spits out errors in a graceful manner. Can specify which version of a lib to use, minimum cmake version supported etc.. 

**What do you dislike about CMake?**

Frankly, there isn't much to dislike about cmake. CmakeLists.txt can be streamlined a bit, easier command line switches, that is all.

**Recommendations to others considering CMake:**

Give it a go, seriously, It is so simple and fluid and user friendly that one simply can't go wrong with cmake.

**What problems is CMake solving and how is that benefiting you?**

Since the years we have switched to cmake, build process has become a lot more streamlined. As we have multiple OSes ranging from Windows to ubuntu-server to RHEL and some tools needed to be built for all of them. Now, only one os independent cmakelists.txt can generate build files for those OSes. As a friend of mine said, 'before cmake, we had to use make and got thousands of dependency errors, now stuff works.'

  ### 10. The great Build framework for c++ programmer

**Rating:** 4.5/5.0 stars

**Reviewed by:** Ghada B. | R&D Engineer, Enterprise (> 1000 emp.)

**Reviewed Date:** June 25, 2016

**What do you like best about CMake?**

Qt Creator presents a lot of interesting features that I found useful:
- It is a build system generator.
- It is cross-platform, free and open-source software
- Requiring  C++ compiler on its own build system
- Generates projects for many different IDEs.
- CMake has its own scripting language that runs on all platforms that CMake targets.
- It is used in conjunction with native build environments such as make, Xcode, and Microsoft Visual Studio.
- Supports outputting to projects like Code::Blocks, Xcode, etc.
- Easy to use and work with.
- stable.

**What do you dislike about CMake?**

I can't really find anything that i dislike. Qt Creator is fulfilling all my needs as for now. Maybe, the only thing that bothered me was the documentation is not good and need some improvement. Apart from that, everything else was fine.

**Recommendations to others considering CMake:**

I recommend CMake for anyone who wants to build c++ projects, It is is a great way to manage multiple projects and updating them easly. 

**What problems is CMake solving and how is that benefiting you?**

I am currently working with CMake, I used it to plain Makefile and generate configuration files to ease the process of building and updating my c++ projects. The build project contains a CMakeLists.txt file in every directory that controls the build process.


  ### 11. Painful but powerful!

**Rating:** 3.0/5.0 stars

**Reviewed by:** Connor H. | Application Developer, Internet, Small-Business (50 or fewer emp.)

**Reviewed Date:** April 22, 2016

**What do you like best about CMake?**

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.

**What do you dislike about CMake?**

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. 

**Recommendations to others considering CMake:**

I would highly recommend checking out websites like StackOverflow for nifty snippets that you can reuse. If you use an IDE with snippet support (such as CLion by JetBrains) then you can add these snippets as templates so you simply type a trigger word to paste the snippet.

**What problems is CMake solving and how is that benefiting you?**

Until I made the switch to CMake I was confined to Windows only development environments - which also required a hefty 4GB installation for Visual Studio, my primary development environment - which was incredibly frustrating as I'm a minimalist when it comes to travel, so my laptop was packing a minimal Ubuntu image. I couldn't really make use of Microsoft's project structure on the go so I was unable to work when I had nothing else to do. CMake and it's IDE integration made it easy to configure builds for both platforms without wanting to tear my hair out.

  ### 12. The BUILD framework

**Rating:** 5.0/5.0 stars

**Reviewed by:** Stewart H. | Principle Engineer, Financial Services, Mid-Market (51-1000 emp.)

**Reviewed Date:** January 28, 2016

**What do you like best about CMake?**

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.



**What do you dislike about CMake?**

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.

**Recommendations to others considering CMake:**

No real recommendations here on this one.

**What problems is CMake solving and how is that benefiting you?**

We are building a component of our stack in C and C++.  It has allowed us to focus more time on the code itself instead of the build framework.

  ### 13. cmake review

**Rating:** 5.0/5.0 stars

**Reviewed by:** chedi t. | Consultant, Computer Software, Small-Business (50 or fewer emp.)

**Reviewed Date:** April 25, 2016

**What do you like best about CMake?**

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

**What do you dislike about CMake?**

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.

**Recommendations to others considering CMake:**

If you are planing on using an open source build automation tool, you will more or less end up with Makefiles, although they are a very powerful tool in the right hand, managing them in manually is a very tedious task and the autotools automation was a nice step in the right direction. But for the pragmatic developer with productivity in mind cmake really make the difference with a more straightforward syntax and the multitude of third party modules.

**What problems is CMake solving and how is that benefiting you?**

We simply used cmake as an alternative to plain Makefile and autotools generated configuration files to ease the process of building and updating c++ projects.

  ### 14. A Must-have for any C++ programmer

**Rating:** 5.0/5.0 stars

**Reviewed by:** Michele A. | Software Engineer, Computer Software, Mid-Market (51-1000 emp.)

**Reviewed Date:** January 10, 2016

**What do you like best about CMake?**

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.

**What do you dislike about CMake?**

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.

**Recommendations to others considering CMake:**

Read the documentation of CMake.org website, it's full of examples and the functions/types are explained very well. 
Try also to find some real project using CMake on GitHub, so you can train yourself and learn how to manage big projects with it.

**What problems is CMake solving and how is that benefiting you?**

I solved the problem of including paths and libraries used with my C++ target. 
Every time I switch from Windows to Linux and from Linux to Windows, I don't have to maintain different project configurations but just a main CMakeLists.txt file

  ### 15. One of the better build systems for C/++

**Rating:** 4.0/5.0 stars

**Reviewed by:** Nicholas I. | Web Developer, Marketing and Advertising, Small-Business (50 or fewer emp.)

**Reviewed Date:** February 01, 2016

**What do you like best about CMake?**

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.

**What do you dislike about CMake?**

Unfortunately, like many C++ compilers it can be a bit slow. However, it is, in my opinion, a better alternative to the GNU Autotools.

**Recommendations to others considering CMake:**

If you are trying to switch your build system, CMake is definitely worth a shot. While it has its problems, it is definitely one of teh best build systems on the market right now.

**What problems is CMake solving and how is that benefiting you?**

I use CMake for most of my C++ projects as the build system. Having a familiar build system allows me to cut down on developer time wasted and have my projects built reliably each time.

  ### 16. A Good, Flexible, but Frustrating Crossplatform Solution for C++

**Rating:** 4.5/5.0 stars

**Reviewed by:** Verified User in Computer Software | Small-Business (50 or fewer emp.)

**Reviewed Date:** March 08, 2016

**What do you like best about CMake?**

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.

**What do you dislike about CMake?**

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.

**Recommendations to others considering CMake:**

Take the time to read the docs and be patient. It'll take a while to get use to it, but once it works it stays working.

**What problems is CMake solving and how is that benefiting you?**

It makes it trivial to have someone develop on Linux with CLion and someone else on Windows with Visual Studio. If you're doing cross platform work, this is a fantastic way to manage multiple projects and not have to worry about manually updating them.

Even if your only target platform is Windows, it seamlessly generates projects for a half dozen different versions of Visual Studio, both 32 and 64 bit.

  ### 17. If you don't use Qt, use this to manage your make infrastructure

**Rating:** 4.5/5.0 stars

**Reviewed by:** Peter B. | Embedded Systems Manager, Health, Wellness and Fitness, Enterprise (> 1000 emp.)

**Reviewed Date:** May 14, 2015

**What do you like best about CMake?**

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.

**What do you dislike about CMake?**

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.

**Recommendations to others considering CMake:**

Make sure you treat your CMake text files the same as any other  SCM controlled entity.

**What problems is CMake solving and how is that benefiting you?**

We are evaluating CMake internally as our makefile generator. However, I have used CMake for a large number of personal projects and other projects at my previous company. Overall, it does one thing very well (create makefiles), and it reduces the amount of effort required to make your build system bulletproof for any environment, especially cross compiling.


## CMake Discussions
  - [What is CMake used for?](https://www.g2.com/discussions/what-is-cmake-used-for)

- [View CMake pricing details and edition comparison](https://www.g2.com/products/cmake/reviews?section=pricing&secure%5Bexpires_at%5D=2026-06-25+12%3A25%3A44+-0500&secure%5Bsession_id%5D=d6125f3e-8e28-4d6a-8d50-d8b4fbb67304&secure%5Btoken%5D=624adb7125eb17c0de697ad7407bf1270e2553e1425788269b4fad6137d8d222&format=llm_user)


## Top CMake Alternatives
  - [GNU Make](https://www.g2.com/products/gnu-make/reviews) - 4.4/5.0 (18 reviews)
  - [SCons](https://www.g2.com/products/scons/reviews) - 4.1/5.0 (17 reviews)
  - [GNU Automake](https://www.g2.com/products/gnu-automake/reviews) - 4.2/5.0 (11 reviews)

