Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Help / manual / cmake-generators.7.rst
1 .. cmake-manual-description: CMake Generators Reference
2
3 cmake-generators(7)
4 *******************
5
6 .. only:: html
7
8    .. contents::
9
10 Introduction
11 ============
12
13 A *CMake Generator* is responsible for writing the input files for
14 a native build system.  Exactly one of the `CMake Generators`_ must be
15 selected for a build tree to determine what native build system is to
16 be used.  Optionally one of the `Extra Generators`_ may be selected
17 as a variant of some of the `Command-Line Build Tool Generators`_ to
18 produce project files for an auxiliary IDE.
19
20 CMake Generators are platform-specific so each may be available only
21 on certain platforms.  The :manual:`cmake(1)` command-line tool
22 :option:`--help <cmake --help>` output lists available generators on the
23 current platform.  Use its :option:`-G <cmake -G>` option to specify the
24 generator for a new build tree. The :manual:`cmake-gui(1)` offers
25 interactive selection of a generator when creating a new build tree.
26
27 CMake Generators
28 ================
29
30 .. _`Command-Line Build Tool Generators`:
31
32 Command-Line Build Tool Generators
33 ----------------------------------
34
35 These generators support command-line build tools.  In order to use them,
36 one must launch CMake from a command-line prompt whose environment is
37 already configured for the chosen compiler and build tool.
38
39 .. _`Makefile Generators`:
40
41 Makefile Generators
42 ^^^^^^^^^^^^^^^^^^^
43
44 .. toctree::
45    :maxdepth: 1
46
47    /generator/Borland Makefiles
48    /generator/MSYS Makefiles
49    /generator/MinGW Makefiles
50    /generator/NMake Makefiles
51    /generator/NMake Makefiles JOM
52    /generator/Unix Makefiles
53    /generator/Watcom WMake
54
55 .. _`Ninja Generators`:
56
57 Ninja Generators
58 ^^^^^^^^^^^^^^^^
59
60 .. toctree::
61    :maxdepth: 1
62
63    /generator/Ninja
64    /generator/Ninja Multi-Config
65
66 .. _`IDE Build Tool Generators`:
67
68 IDE Build Tool Generators
69 -------------------------
70
71 These generators support Integrated Development Environment (IDE)
72 project files.  Since the IDEs configure their own environment
73 one may launch CMake from any environment.
74
75 .. _`Visual Studio Generators`:
76
77 Visual Studio Generators
78 ^^^^^^^^^^^^^^^^^^^^^^^^
79
80 .. toctree::
81    :maxdepth: 1
82
83    /generator/Visual Studio 6
84    /generator/Visual Studio 7
85    /generator/Visual Studio 7 .NET 2003
86    /generator/Visual Studio 8 2005
87    /generator/Visual Studio 9 2008
88    /generator/Visual Studio 10 2010
89    /generator/Visual Studio 11 2012
90    /generator/Visual Studio 12 2013
91    /generator/Visual Studio 14 2015
92    /generator/Visual Studio 15 2017
93    /generator/Visual Studio 16 2019
94    /generator/Visual Studio 17 2022
95
96 Other Generators
97 ^^^^^^^^^^^^^^^^
98
99 .. toctree::
100    :maxdepth: 1
101
102    /generator/Green Hills MULTI
103    /generator/Xcode
104
105 .. _`Extra Generators`:
106
107 Extra Generators
108 ================
109
110 Some of the `CMake Generators`_ listed in the :manual:`cmake(1)`
111 command-line tool :option:`--help <cmake --help>` output may have
112 variants that specify an extra generator for an auxiliary IDE tool.
113 Such generator names have the form ``<extra-generator> - <main-generator>``.
114 The following extra generators are known to CMake.
115
116 .. toctree::
117    :maxdepth: 1
118
119    /generator/CodeBlocks
120    /generator/CodeLite
121    /generator/Eclipse CDT4
122    /generator/Kate
123    /generator/Sublime Text 2