| .. 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` |