Alternatives to CMake
The de facto standard build system generator for C and C++, producing native build files for whatever toolchain is on the machine. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
CMake
The de facto standard build system generator for C and C++, producing native build files for whatever toolchain is on the machine.
Replacements
Listings that take over the same core job as CMake.
Meson
An open-source build system for C, C++, Rust and other languages focused on speed and readability.
Meson uses a readable, deliberately limited build language with fast builds and cross compilation, but has a smaller ecosystem than CMake.
Bazel
An open-source build and test system for multi-language projects, with incremental builds and caching.
Bazel handles large multi-language monorepos with incremental builds and distributed caching, though its build files and rules take time to learn and add overhead for small projects.
Similar software
Related functionality, not a direct replacement.
Ninja
A small, fast build system designed to run build files generated by tools such as CMake.
GCC
The GNU Compiler Collection, compilers for C, C++, Fortran, Ada, Go, Rust and other languages.
LLVM
A collection of modular compiler and toolchain technologies, including the Clang C and C++ compiler.
Qt Creator
A cross-platform IDE for building C++ and Qt applications, maintained by the Qt project.
Zig
A general-purpose systems programming language and toolchain that also works as a drop-in C/C++ compiler.
Cargo
Rust's build system and package manager.