A CMake Generator is responsible for writing the input files for a native build system. Exactly one of the CMake Generators must be selected for a build tree to determine what native build system is to be used. Optionally one of the Extra Generators may be selected as a variant of some of the Command-Line Build Tool Generators to produce project files for an auxiliary IDE.
CMake Generators are platform-specific so each may be available only
on certain platforms. The
cmake(1) command-line tool
--help output lists available generators on the
current platform. Use its
-G option to specify the
generator for a new build tree. The
interactive selection of a generator when creating a new build tree.
Command-Line Build Tool Generators¶
These generators support command-line build tools. In order to use them, one must launch CMake from a command-line prompt whose environment is already configured for the chosen compiler and build tool.
IDE Build Tool Generators¶
These generators support Integrated Development Environment (IDE) project files. Since the IDEs configure their own environment one may launch CMake from any environment.
Visual Studio Generators¶
Deprecated since version 3.27: Support for "Extra Generators" is deprecated and will be removed from
a future version of CMake. IDEs may use the
to view CMake-generated project build trees.
Some of the CMake Generators listed in the
--help output may have
variants that specify an extra generator for an auxiliary IDE tool.
Such generator names have the form
<extra-generator> - <main-generator>.
The following extra generators are known to CMake.