Software Alternatives & Reviews

CMake VS Ninja Build

Compare CMake VS Ninja Build and see what are their differences

CMake logo CMake

CMake is an open-source, cross-platform family of tools designed to build, test and package software.

Ninja Build logo Ninja Build

Ninja is a small build system with a focus on speed.
  • CMake Landing page
    Landing page //
    2022-09-21

We recommend LibHunt CMake for discovery and comparisons of trending CMake projects.

  • Ninja Build Landing page
    Landing page //
    2021-09-14

CMake videos

CMake for Dummies

More videos:

  • Review - CppCon 2017: Mathieu Ropert “Using Modern CMake Patterns to Enforce a Good Modular Design”
  • Review - Hunter, a CMake driven package manager for C/C++ projects - Daniel Friedrich - Lightning Talks

Ninja Build videos

FORTNITE STW: HERE IS THE BEST NINJA BUILD (AFTER MONTHS OF TESTING)

Category Popularity

0-100% (relative to CMake and Ninja Build)
Front End Package Manager
JavaScript Package Manager
JS Build Tools
57 57%
43% 43
Continuous Integration
70 70%
30% 30

User comments

Share your experience with using CMake and Ninja Build. For example, how are they different and which one is better?
Log in or Post with

Social recommendations and mentions

Based on our record, CMake should be more popular than Ninja Build. It has been mentiond 51 times since March 2021. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.

CMake mentions (51)

  • Top 7 C++ Tools to explore in 2024 if it's not already the case.
    CMake stands for "Cross-platform Make" and is an open-source, platform-independent build system. It's designed to build, test, and package software projects written in C and C++, but it can also be used for other languages. Here's an overview of CMake and its features:. - Source: dev.to / 2 months ago
  • My first Software Release using GitHub Release
    When doing research for this lab exercise I looked at both vcpkg and conan. Both are package managers that would automate the installation and configuration of my program with its dependencies. However, when it came to releasing and sharing my program my options were limited. For example, the central public registry for conan packages is conan-center, but these packages are curated and the process is very... - Source: dev.to / 5 months ago
  • A little help for a C++ newbie
    Install the CMake program using your system package manager, e.g. Sudo apt-get install cmake. Source: 7 months ago
  • Questions Regarding working with Mingw_w64, MSYS2, and CMake on Windows
    Oh I just assumed it was talking about the one from cmake.org since I was having trouble. I can now confirm that mingw-w64-cmake and the binary from cmake.org do operate in mostly identical ways. Source: about 1 year ago
  • Questions Regarding working with Mingw_w64, MSYS2, and CMake on Windows
    Then looking at any one of the many examples provided on cmake.org, it's clearly a viable way to do set(CMAKE_*), (e.g., set(CMAKE_CXX_STANDARD 11) Set(CMAKE_CXX_STANDARD_REQUIRED True)). Of course, another way to set these variables is to use the -D flag as you suggested, but I was just wondering why you would prohibit using set(CMAKE_*). Source: about 1 year ago
View more

Ninja Build mentions (22)

  • TypeScript's Successor is Waiting, and You'll Never Want to Turn Back
    Under the hood, Rescript uses a build system called Ninja. Ninja is similar to Make, but cross-platform and more minimal/performant. - Source: dev.to / 3 months ago
  • Using Make – writing less Makefile
    Ninja was super easy to pick up even after using make for some time (10+ years). GN is just a ninja generator that is optional. https://gn.googlesource.com/gn/+/main/docs/quick_start.md https://ninja-build.org/. - Source: Hacker News / 4 months ago
  • Ask HN: What outdated tech are you still using and are perfectly happy with?
    Really? I thought most new projects were switching to ninja[^1] and have never used it. [^1]: https://ninja-build.org/. - Source: Hacker News / 6 months ago
  • What was used to build C++ programs before Cmake?
    Ninja showed real promise for a while, but then CMake grew up and people stopped seeing a reason to leave it behind. Source: 10 months ago
  • Building and Running Pidgin and Finch 3
    Now that you have your build system all generated you can go ahead and build everything. By default Meson will use Ninja as the build tool. Ninja is similar to Make but much much faster. You can also generate additional build systems but that's outside of the scope of this post. - Source: dev.to / 12 months ago
View more

What are some alternatives?

When comparing CMake and Ninja Build, you can also consider the following products

GNU Make - GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files.

SCons - SCons is an Open Source software construction tool—that is, a next-generation build tool.

Meson - Meson is an open source build system meant to be both extremely fast, and, even more importantly...

SBT - SBT is a build tool for Scala, like Ant or Maven but with hieroglyphics.

Apache Maven - Apache Maven is a project comprehension and management software tool.

Gradle - Accelerate developer productivity. Gradle helps teams build, automate and deliver better software, faster. DocsExplore the documentation of Gradle. Find installation ..