CMake

CMake describes itself as “an open source, cross-platform family of tools designed to build, test, and package software.” Rather than being a build tool of its own, it is a build-system generator: developers describe a project once in plain configuration files, and CMake produces a native build environment for the target platform that compiles source code, creates libraries, and builds executables.

CMake was created by Bill Hoffman, co-founder and CTO of Kitware, to give a robust cross-platform build environment for The Insight Toolkit (ITK) and the Visualization Toolkit (VTK). Because it generates native build files instead of running the build itself, the same CMake project can drive Unix Makefiles on Linux, Ninja files, or Visual Studio projects on Windows, all from one source tree.

The CMake home page describes the tool as “the de-facto standard for building C++ code, with over 2 million downloads a month,” developed and maintained primarily by Kitware with contributions from organizations including the National Library of Medicine and Sandia National Laboratories. Its design lets a single source tree support multiple builds and handle complex project hierarchies and dependencies across platforms.

Because of this reach, CMake sits at the center of the modern C and C++ tooling stack: it commonly emits Ninja files for fast builds and integrates with package managers such as vcpkg, making it the connective tissue between source code and the many native toolchains it targets.

Sources

Last verified June 8, 2026