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