
CMake - Upgrade Your Software Build System
CMake is a powerful and comprehensive solution for managing the software build process. CMake is the de-facto standard for building C++ code, with over 2 million downloads a month.
Download CMake
CMake Resources Whether you are just getting started or are already part of the CMake community, check out our helpful resources page.
CMake Documentation and Community
Feb 8, 2010 · Thank you for joining the CMake community! Whether you are still learning how to use CMake, contributing, or just enjoy being part of the conversation, there is is something …
Getting Started — Mastering CMake
Directory Structure ¶ There are two main directories CMake uses when building a project: the source directory and the binary directory. The source directory is where the source code for …
cmake (1) — CMake 4.2.0-rc1 Documentation
CMake will write a CMakeCache.txt file to identify the directory as a build tree and store persistent information such as buildsystem configuration options. To maintain a pristine source tree, …
About CMake
CMake is an open source, cross-platform family of tools designed to build, test, and package software. CMake gives you control of the software compilation process using simple …
Mastering CMake — Mastering CMake
This book describes how to use the CMake family of tools, including CTest, CPack and CDash, to develop, build, test, and package software for distribution. Starting with the basics of how to …
CMake: The Standard Build System
CMake contains a full cross-platform install system. With the same set of commands, a software package can be installed on Linux, Windows, and Mac. Cross-platform testing system CMake …
CMake 3.31 Release Notes — CMake 4.1.2 Documentation
The CMAKE_EXPORT_BUILD_DATABASE variable, a corresponding CMAKE_EXPORT_BUILD_DATABASE environment variable, and an …
User Interaction Guide — CMake 4.2.0-rc1 Documentation
CMake understands a file, CMakePresets.json, and its user-specific counterpart, CMakeUserPresets.json, for saving presets for commonly-used configure settings. These …