CMake Reference Documentation — CMake 4.0.20250503-g4dc6924 Documentation (original) (raw)
Introduction¶
CMake is a tool to manage building of source code. Originally, CMake was designed as a generator for various dialects of Makefile
, today CMake generates modern buildsystems such as Ninja
as well as project files for IDEs such as Visual Studio and Xcode.
CMake is widely used for the C and C++ languages, but it may be used to build source code of other languages too.
People encountering CMake for the first time may have different initial goals. To learn how to build a source code package downloaded from the internet, start with the [User Interaction Guide](guide/user-interaction/index.html#guide:User Interaction Guide "User Interaction Guide"). This will detail the steps needed to run the cmake(1) orcmake-gui(1) executable and how to choose a generator, and how to complete the build.
The [Using Dependencies Guide](guide/using-dependencies/index.html#guide:Using Dependencies Guide "Using Dependencies Guide") is aimed at developers wishing to get started using a third-party library.
For developers starting a project using CMake, the [CMake Tutorial](guide/tutorial/index.html#guide:CMake Tutorial "CMake Tutorial")is a suitable starting point. The cmake-buildsystem(7)manual is aimed at developers expanding their knowledge of maintaining a buildsystem and becoming familiar with the build targets that can be represented in CMake. The cmake-packages(7) manual explains how to create packages which can easily be consumed by third-party CMake-based buildsystems.
Command-Line Tools¶
Interactive Dialogs¶
Reference Manuals¶
- cmake-buildsystem(7)
- cmake-commands(7)
- cmake-compile-features(7)
- cmake-configure-log(7)
- cmake-cxxmodules(7)
- cmake-developer(7)
- cmake-env-variables(7)
- cmake-file-api(7)
- cmake-generator-expressions(7)
- cmake-generators(7)
- cmake-instrumentation(7)
- cmake-language(7)
- cmake-modules(7)
- cmake-packages(7)
- cmake-policies(7)
- cmake-presets(7)
- cmake-properties(7)
- cmake-qt(7)
- cmake-server(7)
- cmake-toolchains(7)
- cmake-variables(7)
- cpack-generators(7)
Guides¶
- CMake Tutorial
- User Interaction Guide
- Using Dependencies Guide
- Importing and Exporting Guide
- IDE Integration Guide