|
|
|
.. title:: CMake Reference Documentation
|
|
|
|
|
|
|
|
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 :guide:`User Interaction Guide`.
|
|
|
|
This will detail the steps needed to run the :manual:`cmake(1)` or
|
|
|
|
:manual:`cmake-gui(1)` executable and how to choose a generator, and
|
|
|
|
how to complete the build.
|
|
|
|
|
|
|
|
The :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 :guide:`CMake Tutorial`
|
|
|
|
is a suitable starting point. The :manual:`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 :manual:`cmake-packages(7)` manual
|
|
|
|
explains how to create packages which can easily be consumed by
|
|
|
|
third-party CMake-based buildsystems.
|
|
|
|
|
|
|
|
Command-Line Tools
|
|
|
|
##################
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
|
|
/manual/cmake.1
|
|
|
|
/manual/ctest.1
|
|
|
|
/manual/cpack.1
|
|
|
|
|
|
|
|
Interactive Dialogs
|
|
|
|
###################
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
|
|
/manual/cmake-gui.1
|
|
|
|
/manual/ccmake.1
|
|
|
|
|
|
|
|
Reference Manuals
|
|
|
|
#################
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
|
|
/manual/cmake-buildsystem.7
|
|
|
|
/manual/cmake-commands.7
|
|
|
|
/manual/cmake-compile-features.7
|
|
|
|
/manual/cmake-configure-log.7
|
|
|
|
/manual/cmake-developer.7
|
|
|
|
/manual/cmake-env-variables.7
|
|
|
|
/manual/cmake-file-api.7
|
|
|
|
/manual/cmake-generator-expressions.7
|
|
|
|
/manual/cmake-generators.7
|
|
|
|
/manual/cmake-language.7
|
|
|
|
/manual/cmake-modules.7
|
|
|
|
/manual/cmake-packages.7
|
|
|
|
/manual/cmake-policies.7
|
|
|
|
/manual/cmake-presets.7
|
|
|
|
/manual/cmake-properties.7
|
|
|
|
/manual/cmake-qt.7
|
|
|
|
/manual/cmake-server.7
|
|
|
|
/manual/cmake-toolchains.7
|
|
|
|
/manual/cmake-variables.7
|
|
|
|
/manual/cpack-generators.7
|
|
|
|
|
|
|
|
.. only:: not man
|
|
|
|
|
|
|
|
Guides
|
|
|
|
######
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
|
|
/guide/tutorial/index
|
|
|
|
/guide/user-interaction/index
|
|
|
|
/guide/using-dependencies/index
|
|
|
|
/guide/importing-exporting/index
|
|
|
|
/guide/ide-integration/index
|
|
|
|
|
|
|
|
.. only:: html or text
|
|
|
|
|
|
|
|
Release Notes
|
|
|
|
#############
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
|
|
/release/index
|
|
|
|
|
|
|
|
.. only:: html
|
|
|
|
|
|
|
|
Index and Search
|
|
|
|
################
|
|
|
|
|
|
|
|
* :ref:`genindex`
|
|
|
|
* :ref:`search`
|