1 .. cmake-manual-description: CMake Generators Reference
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.
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.
30 .. _`Command-Line Build Tool Generators`:
32 Command-Line Build Tool Generators
33 ----------------------------------
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.
39 .. _`Makefile Generators`:
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
55 .. _`Ninja Generators`:
64 /generator/Ninja Multi-Config
66 .. _`IDE Build Tool Generators`:
68 IDE Build Tool Generators
69 -------------------------
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.
75 .. _`Visual Studio Generators`:
77 Visual Studio Generators
78 ^^^^^^^^^^^^^^^^^^^^^^^^
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
102 /generator/Green Hills MULTI
105 .. _`Extra Generators`:
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.
119 /generator/CodeBlocks
121 /generator/Eclipse CDT4
123 /generator/Sublime Text 2