1.. title:: CMake Reference Documentation 2 3Introduction 4############ 5 6CMake is a tool to manage building of source code. Originally, CMake was 7designed as a generator for various dialects of ``Makefile``, today 8CMake generates modern buildsystems such as ``Ninja`` as well as project 9files for IDEs such as Visual Studio and Xcode. 10 11CMake is widely used for the C and C++ languages, but it may be used to 12build source code of other languages too. 13 14People encountering CMake for the first time may have different initial 15goals. To learn how to build a source code package downloaded from the 16internet, start with the :guide:`User Interaction Guide`. 17This will detail the steps needed to run the :manual:`cmake(1)` or 18:manual:`cmake-gui(1)` executable and how to choose a generator, and 19how to complete the build. 20 21The :guide:`Using Dependencies Guide` is aimed at developers 22wishing to get started using a third-party library. 23 24For developers starting a project using CMake, the :guide:`CMake Tutorial` 25is a suitable starting point. The :manual:`cmake-buildsystem(7)` 26manual is aimed at developers expanding their knowledge of maintaining 27a buildsystem and becoming familiar with the build targets that 28can be represented in CMake. The :manual:`cmake-packages(7)` manual 29explains how to create packages which can easily be consumed by 30third-party CMake-based buildsystems. 31 32Command-Line Tools 33################## 34 35.. toctree:: 36 :maxdepth: 1 37 38 /manual/cmake.1 39 /manual/ctest.1 40 /manual/cpack.1 41 42Interactive Dialogs 43################### 44 45.. toctree:: 46 :maxdepth: 1 47 48 /manual/cmake-gui.1 49 /manual/ccmake.1 50 51Reference Manuals 52################# 53 54.. toctree:: 55 :maxdepth: 1 56 57 /manual/cmake-buildsystem.7 58 /manual/cmake-commands.7 59 /manual/cmake-compile-features.7 60 /manual/cmake-developer.7 61 /manual/cmake-env-variables.7 62 /manual/cmake-file-api.7 63 /manual/cmake-generator-expressions.7 64 /manual/cmake-generators.7 65 /manual/cmake-language.7 66 /manual/cmake-modules.7 67 /manual/cmake-packages.7 68 /manual/cmake-policies.7 69 /manual/cmake-presets.7 70 /manual/cmake-properties.7 71 /manual/cmake-qt.7 72 /manual/cmake-server.7 73 /manual/cmake-toolchains.7 74 /manual/cmake-variables.7 75 /manual/cpack-generators.7 76 77.. only:: not man 78 79 Guides 80 ###### 81 82 .. toctree:: 83 :maxdepth: 1 84 85 /guide/tutorial/index 86 /guide/user-interaction/index 87 /guide/using-dependencies/index 88 /guide/importing-exporting/index 89 /guide/ide-integration/index 90 91.. only:: html or text 92 93 Release Notes 94 ############# 95 96 .. toctree:: 97 :maxdepth: 1 98 99 /release/index 100 101.. only:: html 102 103 Index and Search 104 ################ 105 106 * :ref:`genindex` 107 * :ref:`search` 108