1CMAKE-GENERATORS(7)                  CMake                 CMAKE-GENERATORS(7)
2
3
4

NAME

6       cmake-generators - CMake Generators Reference
7

INTRODUCTION

9       A  CMake  Generator  is  responsible  for writing the input files for a
10       native build system.  Exactly one  of  the  CMake  Generators  must  be
11       selected  for  a build tree to determine what native build system is to
12       be used.  Optionally one of the Extra Generators may be selected  as  a
13       variant  of  some  of the Command-Line Build Tool Generators to produce
14       project files for an auxiliary IDE.
15
16       CMake Generators are platform-specific so each may be available only on
17       certain  platforms.  The cmake(1) command-line tool --help output lists
18       available generators on the current platform.  Use  its  -G  option  to
19       specify  the  generator  for a new build tree.  The cmake-gui(1) offers
20       interactive selection of a generator when creating a new build tree.
21

CMAKE GENERATORS

23   Command-Line Build Tool Generators
24       These generators support command-line build tools.   In  order  to  use
25       them,  one  must launch CMake from a command-line prompt whose environ‐
26       ment is already configured for the chosen compiler and build tool.
27
28   Makefile Generators
29   Borland Makefiles
30       Generates Borland makefiles.
31
32   MSYS Makefiles
33       Generates makefiles for use with MSYS (Minimal SYStem) make  under  the
34       MSYS shell.
35
36       Use  this  generator in a MSYS shell prompt and using make as the build
37       tool.  The generated makefiles use /bin/sh as the shell to launch build
38       rules.  They are not compatible with a Windows command prompt.
39
40       To build under a Windows command prompt, use the MinGW Makefiles gener‐
41       ator.
42
43   MinGW Makefiles
44       Generates makefiles for use with mingw32-make under a  Windows  command
45       prompt.
46
47       Use  this generator under a Windows command prompt with MinGW (Minimal‐
48       ist GNU for Windows) in the PATH and using mingw32-make  as  the  build
49       tool.  The generated makefiles use cmd.exe as the shell to launch build
50       rules.  They are not compatible with MSYS or a unix shell.
51
52       To build under the MSYS shell, use the MSYS Makefiles generator.
53
54   NMake Makefiles
55       Generates NMake makefiles.
56
57   NMake Makefiles JOM
58       Generates JOM makefiles.
59
60   Unix Makefiles
61       Generates standard UNIX makefiles.
62
63       A hierarchy of UNIX makefiles is generated into the  build  tree.   Use
64       any  standard  UNIX-style make program to build the project through the
65       all  target  and  install  the  project   through   the   install   (or
66       install/strip) target.
67
68       For  each  subdirectory  sub/dir of the project a UNIX makefile will be
69       created, containing the following targets:
70
71       all    Depends on all targets required by the subdirectory.
72
73       install
74              Runs the install step in the subdirectory, if any.
75
76       install/strip
77              Runs  the  install  step  in  the  subdirectory  followed  by  a
78              CMAKE_STRIP command, if any.
79
80              The CMAKE_STRIP variable will contain the platform’s strip util‐
81              ity, which removes symbols information from generated binaries.
82
83       test   Runs the test step in the subdirectory, if any.
84
85       package
86              Runs the package step in the subdirectory, if any.
87
88   Watcom WMake
89       Generates Watcom WMake makefiles.
90
91   Ninja Generators
92   Ninja
93       Generates build.ninja files.
94
95       A build.ninja file is generated into the build  tree.   Use  the  ninja
96       program  to  build  the  project through the all target and install the
97       project through the install (or install/strip) target.
98
99       For each subdirectory sub/dir of the project,  additional  targets  are
100       generated:
101
102       sub/dir/all
103              Depends on all targets required by the subdirectory.
104
105       sub/dir/install
106              Runs the install step in the subdirectory, if any.
107
108       sub/dir/install/strip
109              Runs  the  install  step  in  the  subdirectory  followed  by  a
110              CMAKE_STRIP command, if any.
111
112              The CMAKE_STRIP variable will contain the platform’s strip util‐
113              ity, which removes symbols information from generated binaries.
114
115       sub/dir/test
116              Runs the test step in the subdirectory, if any.
117
118       sub/dir/package
119              Runs the package step in the subdirectory, if any.
120
121   Fortran Support
122       The  Ninja generator conditionally supports Fortran when the ninja tool
123       is at least version 1.10 (which has the required features).
124
125   See Also
126       The Ninja Multi-Config generator is similar to the Ninja generator, but
127       generates multiple configurations at once.
128
129   Ninja Multi-Config
130       Generates multiple build-<Config>.ninja files.
131
132       This generator is very much like the Ninja generator, but with some key
133       differences. Only these differences will be discussed in this document.
134
135       Unlike the Ninja generator, Ninja Multi-Config generates multiple  con‐
136       figurations  at once with CMAKE_CONFIGURATION_TYPES instead of only one
137       configuration with CMAKE_BUILD_TYPE. One build-<Config>.ninja file will
138       be  generated for each of these configurations (with <Config> being the
139       configuration name.) These files are intended to be run with  ninja  -f
140       build-<Config>.ninja.  A  build.ninja file is also generated, using the
141       configuration from either CMAKE_DEFAULT_BUILD_TYPE or  the  first  item
142       from CMAKE_CONFIGURATION_TYPES.
143
144       cmake  --build . --config <Config> will always use build-<Config>.ninja
145       to build. If no --config argument is specified, cmake  --build  .  will
146       default  to  build-Debug.ninja,  unless a build.ninja is generated (see
147       below), in which case that will be used instead.
148
149       Each build-<Config>.ninja file contains <target>  targets  as  well  as
150       <target>:<Config> targets, where <Config> is the same as the configura‐
151       tion specified in build-<Config>.ninja  Additionally,  if  cross-config
152       mode  is  enabled, build-<Config>.ninja may contain <target>:<OtherCon‐
153       fig> targets, where <OtherConfig> is a cross-config, as well  as  <tar‐
154       get>:all,  which  builds the target in all cross-configs. See below for
155       how to enable cross-config mode.
156
157       The Ninja Multi-Config generator recognizes the following variables:
158
159       CMAKE_CONFIGURATION_TYPES
160              Specifies the total set of configurations to build.
161
162       CMAKE_CROSS_CONFIGS
163              Specifies a semicolon-separated list of configurations available
164              from all build-<Config>.ninja files.
165
166       CMAKE_DEFAULT_BUILD_TYPE
167              Specifies  the  configuration to use by default in a build.ninja
168              file.
169
170       CMAKE_DEFAULT_CONFIGS
171              Specifies a semicolon-separated list of configurations to  build
172              for a target in build.ninja if no :<Config> suffix is specified.
173
174       Consider the following example:
175
176          cmake_minimum_required(VERSION 3.16)
177          project(MultiConfigNinja C)
178
179          add_executable(generator generator.c)
180          add_custom_command(OUTPUT generated.c COMMAND generator generated.c)
181          add_library(generated ${CMAKE_BINARY_DIR}/generated.c)
182
183       Now  assume  you  configure the project with Ninja Multi-Config and run
184       one of the following commands:
185
186          ninja -f build-Debug.ninja generated
187          # OR
188          cmake --build . --config Debug --target generated
189
190       This would build the Debug configuration of generator, which  would  be
191       used  to  generate  generated.c, which would be used to build the Debug
192       configuration of generated.
193
194       But if CMAKE_CROSS_CONFIGS is set to all, and  you  run  the  following
195       instead:
196
197          ninja -f build-Release.ninja generated:Debug
198          # OR
199          cmake --build . --config Release --target generated:Debug
200
201       This would build the Release configuration of generator, which would be
202       used to generate generated.c, which would be used to  build  the  Debug
203       configuration  of generated. This is useful for running a release-opti‐
204       mized version of a generator utility while  still  building  the  debug
205       version of the targets built with the generated code.
206
207   IDE Build Tool Generators
208       These  generators  support  Integrated  Development  Environment  (IDE)
209       project files.  Since the IDEs configure their own environment one  may
210       launch CMake from any environment.
211
212   Visual Studio Generators
213   Visual Studio 6
214       Removed.   This  once  generated Visual Studio 6 project files, but the
215       generator has been removed since CMake 3.6.  It is  still  possible  to
216       build with VS 6 tools using the NMake Makefiles generator.
217
218   Visual Studio 7
219       Removed.   This  once  generated Visual Studio .NET 2002 project files,
220       but the generator has been removed since CMake 3.6.  It is still possi‐
221       ble to build with VS 7.0 tools using the NMake Makefiles generator.
222
223   Visual Studio 7 .NET 2003
224       Removed.   This  once  generated Visual Studio .NET 2003 project files,
225       but the generator has been removed since CMake 3.9.  It is still possi‐
226       ble to build with VS 7.1 tools using the NMake Makefiles generator.
227
228   Visual Studio 8 2005
229       Removed.   This  once generated Visual Studio 8 2005 project files, but
230       the generator has been removed since CMake 3.12.  It is still  possible
231       to build with VS 2005 tools using the NMake Makefiles generator.
232
233   Visual Studio 9 2008
234       Generates Visual Studio 9 2008 project files.
235
236   Platform Selection
237       The default target platform name (architecture) is Win32.
238
239       The  CMAKE_GENERATOR_PLATFORM  variable  may  be  set,  perhaps via the
240       cmake(1) -A option, to specify a target platform  name  (architecture).
241       For example:
242
243       · cmake -G "Visual Studio 9 2008" -A Win32
244
245       · cmake -G "Visual Studio 9 2008" -A x64
246
247       · cmake -G "Visual Studio 9 2008" -A Itanium
248
249       · cmake  -G  "Visual  Studio  9  2008" -A <WinCE-SDK> (Specify a target
250         platform matching a Windows CE SDK name.)
251
252       For compatibility with CMake versions prior to 3.1, one may  specify  a
253       target platform name optionally at the end of the generator name.  This
254       is supported only for:
255
256       Visual Studio 9 2008 Win64
257              Specify target platform x64.
258
259       Visual Studio 9 2008 IA64
260              Specify target platform Itanium.
261
262       Visual Studio 9 2008 <WinCE-SDK>
263              Specify target platform matching a Windows CE SDK name.
264
265   Visual Studio 10 2010
266       Generates Visual Studio 10 (VS 2010) project files.
267
268       For compatibility with CMake versions prior to  3.0,  one  may  specify
269       this  generator using the name Visual Studio 10 without the year compo‐
270       nent.
271
272   Project Types
273       Only Visual C++ and C# projects  may  be  generated.   Other  types  of
274       projects (Database, Website, etc.) are not supported.
275
276   Platform Selection
277       The default target platform name (architecture) is Win32.
278
279       The  CMAKE_GENERATOR_PLATFORM  variable  may  be  set,  perhaps via the
280       cmake(1) -A option, to specify a target platform  name  (architecture).
281       For example:
282
283       · cmake -G "Visual Studio 10 2010" -A Win32
284
285       · cmake -G "Visual Studio 10 2010" -A x64
286
287       · cmake -G "Visual Studio 10 2010" -A Itanium
288
289       For  compatibility  with CMake versions prior to 3.1, one may specify a
290       target platform name optionally at the end of the generator name.  This
291       is supported only for:
292
293       Visual Studio 10 2010 Win64
294              Specify target platform x64.
295
296       Visual Studio 10 2010 IA64
297              Specify target platform Itanium.
298
299   Toolset Selection
300       The  v100  toolset that comes with Visual Studio 10 2010 is selected by
301       default.  The CMAKE_GENERATOR_TOOLSET option may be  set,  perhaps  via
302       the cmake(1) -T option, to specify another toolset.
303
304   Visual Studio 11 2012
305       Generates Visual Studio 11 (VS 2012) project files.
306
307       For  compatibility  with  CMake  versions prior to 3.0, one may specify
308       this generator using the name “Visual Studio 11” without the year  com‐
309       ponent.
310
311   Project Types
312       Only  Visual  C++  and  C#  projects  may be generated.  Other types of
313       projects (JavaScript, Database, Website, etc.) are not supported.
314
315   Platform Selection
316       The default target platform name (architecture) is Win32.
317
318       The CMAKE_GENERATOR_PLATFORM variable  may  be  set,  perhaps  via  the
319       cmake(1)  -A  option, to specify a target platform name (architecture).
320       For example:
321
322       · cmake -G "Visual Studio 11 2012" -A Win32
323
324       · cmake -G "Visual Studio 11 2012" -A x64
325
326       · cmake -G "Visual Studio 11 2012" -A ARM
327
328       · cmake -G "Visual Studio 11 2012" -A  <WinCE-SDK>  (Specify  a  target
329         platform matching a Windows CE SDK name.)
330
331       For  compatibility  with CMake versions prior to 3.1, one may specify a
332       target platform name optionally at the end of the generator name.  This
333       is supported only for:
334
335       Visual Studio 11 2012 Win64
336              Specify target platform x64.
337
338       Visual Studio 11 2012 ARM
339              Specify target platform ARM.
340
341       Visual Studio 11 2012 <WinCE-SDK>
342              Specify target platform matching a Windows CE SDK name.
343
344   Toolset Selection
345       The  v110  toolset that comes with Visual Studio 11 2012 is selected by
346       default.  The CMAKE_GENERATOR_TOOLSET option may be  set,  perhaps  via
347       the cmake(1) -T option, to specify another toolset.
348
349   Visual Studio 12 2013
350       Generates Visual Studio 12 (VS 2013) project files.
351
352       For  compatibility  with  CMake  versions prior to 3.0, one may specify
353       this generator using the name “Visual Studio 12” without the year  com‐
354       ponent.
355
356   Project Types
357       Only  Visual  C++  and  C#  projects  may be generated.  Other types of
358       projects (JavaScript, Powershell, Python, etc.) are not supported.
359
360   Platform Selection
361       The default target platform name (architecture) is Win32.
362
363       The CMAKE_GENERATOR_PLATFORM variable  may  be  set,  perhaps  via  the
364       cmake(1)  -A  option, to specify a target platform name (architecture).
365       For example:
366
367       · cmake -G "Visual Studio 12 2013" -A Win32
368
369       · cmake -G "Visual Studio 12 2013" -A x64
370
371       · cmake -G "Visual Studio 12 2013" -A ARM
372
373       For compatibility with CMake versions prior to 3.1, one may  specify  a
374       target platform name optionally at the end of the generator name.  This
375       is supported only for:
376
377       Visual Studio 12 2013 Win64
378              Specify target platform x64.
379
380       Visual Studio 12 2013 ARM
381              Specify target platform ARM.
382
383   Toolset Selection
384       The v120 toolset that comes with Visual Studio 12 2013 is  selected  by
385       default.   The  CMAKE_GENERATOR_TOOLSET  option may be set, perhaps via
386       the cmake(1) -T option, to specify another toolset.
387
388       For each toolset that comes with this version of Visual  Studio,  there
389       are  variants  that are themselves compiled for 32-bit (x86) and 64-bit
390       (x64) hosts (independent of the architecture they target).  By  default
391       this  generator uses the 32-bit variant even on a 64-bit host.  One may
392       explicitly request use of either the 32-bit or  64-bit  host  tools  by
393       adding  either  host=x86 or host=x64 to the toolset specification.  See
394       the CMAKE_GENERATOR_TOOLSET variable for details.
395
396   Visual Studio 14 2015
397       Generates Visual Studio 14 (VS 2015) project files.
398
399   Project Types
400       Only Visual C++ and C# projects  may  be  generated.   Other  types  of
401       projects (JavaScript, Powershell, Python, etc.) are not supported.
402
403   Platform Selection
404       The default target platform name (architecture) is Win32.
405
406       The  CMAKE_GENERATOR_PLATFORM  variable  may  be  set,  perhaps via the
407       cmake(1) -A option, to specify a target platform  name  (architecture).
408       For example:
409
410       · cmake -G "Visual Studio 14 2015" -A Win32
411
412       · cmake -G "Visual Studio 14 2015" -A x64
413
414       · cmake -G "Visual Studio 14 2015" -A ARM
415
416       For  compatibility  with CMake versions prior to 3.1, one may specify a
417       target platform name optionally at the end of the generator name.  This
418       is supported only for:
419
420       Visual Studio 14 2015 Win64
421              Specify target platform x64.
422
423       Visual Studio 14 2015 ARM
424              Specify target platform ARM.
425
426   Toolset Selection
427       The  v140  toolset that comes with Visual Studio 14 2015 is selected by
428       default.  The CMAKE_GENERATOR_TOOLSET option may be  set,  perhaps  via
429       the cmake(1) -T option, to specify another toolset.
430
431       For  each  toolset that comes with this version of Visual Studio, there
432       are variants that are themselves compiled for 32-bit (x86)  and  64-bit
433       (x64)  hosts (independent of the architecture they target).  By default
434       this generator uses the 32-bit variant even on a 64-bit host.  One  may
435       explicitly  request  use  of  either the 32-bit or 64-bit host tools by
436       adding either host=x86 or host=x64 to the toolset  specification.   See
437       the CMAKE_GENERATOR_TOOLSET variable for details.
438
439   Visual Studio 15 2017
440       Generates Visual Studio 15 (VS 2017) project files.
441
442   Project Types
443       Only  Visual  C++  and  C#  projects  may be generated.  Other types of
444       projects (JavaScript, Powershell, Python, etc.) are not supported.
445
446   Instance Selection
447       VS 2017 supports multiple  installations  on  the  same  machine.   The
448       CMAKE_GENERATOR_INSTANCE  variable may be set as a cache entry contain‐
449       ing the absolute path to a Visual Studio instance.  If the value is not
450       specified explicitly by the user or a toolchain file, CMake queries the
451       Visual Studio Installer to locate VS instances, chooses one,  and  sets
452       the variable as a cache entry to hold the value persistently.
453
454       When CMake first chooses an instance, if the VS150COMNTOOLS environment
455       variable is set and points to the Common7/Tools directory within one of
456       the instances, that instance will be used.  Otherwise, if more than one
457       instance is installed we do not define which one is chosen by default.
458
459   Platform Selection
460       The default target platform name (architecture) is Win32.
461
462       The CMAKE_GENERATOR_PLATFORM variable  may  be  set,  perhaps  via  the
463       cmake(1)  -A  option, to specify a target platform name (architecture).
464       For example:
465
466       · cmake -G "Visual Studio 15 2017" -A Win32
467
468       · cmake -G "Visual Studio 15 2017" -A x64
469
470       · cmake -G "Visual Studio 15 2017" -A ARM
471
472       · cmake -G "Visual Studio 15 2017" -A ARM64
473
474       For compatibility with CMake versions prior to 3.1, one may  specify  a
475       target platform name optionally at the end of the generator name.  This
476       is supported only for:
477
478       Visual Studio 15 2017 Win64
479              Specify target platform x64.
480
481       Visual Studio 15 2017 ARM
482              Specify target platform ARM.
483
484   Toolset Selection
485       The v141 toolset that comes with Visual Studio 15 2017 is  selected  by
486       default.   The  CMAKE_GENERATOR_TOOLSET  option may be set, perhaps via
487       the cmake(1) -T option, to specify another toolset.
488
489       For each toolset that comes with this version of Visual  Studio,  there
490       are  variants  that are themselves compiled for 32-bit (x86) and 64-bit
491       (x64) hosts (independent of the architecture they target).  By  default
492       this  generator uses the 32-bit variant even on a 64-bit host.  One may
493       explicitly request use of either the 32-bit or  64-bit  host  tools  by
494       adding  either  host=x86 or host=x64 to the toolset specification.  See
495       the CMAKE_GENERATOR_TOOLSET variable for details.
496
497   Visual Studio 16 2019
498       Generates Visual Studio 16 (VS 2019) project files.
499
500   Project Types
501       Only Visual C++ and C# projects  may  be  generated.   Other  types  of
502       projects (JavaScript, Powershell, Python, etc.) are not supported.
503
504   Instance Selection
505       VS  2019  supports  multiple  installations  on  the same machine.  The
506       CMAKE_GENERATOR_INSTANCE variable may be set as a cache entry  contain‐
507       ing the absolute path to a Visual Studio instance.  If the value is not
508       specified explicitly by the user or a toolchain file, CMake queries the
509       Visual  Studio  Installer to locate VS instances, chooses one, and sets
510       the variable as a cache entry to hold the value persistently.
511
512       When CMake first chooses an instance, if the VS160COMNTOOLS environment
513       variable is set and points to the Common7/Tools directory within one of
514       the instances, that instance will be used.  Otherwise, if more than one
515       instance is installed we do not define which one is chosen by default.
516
517   Platform Selection
518       The default target platform name (architecture) is that of the host and
519       is provided in the CMAKE_VS_PLATFORM_NAME_DEFAULT variable.
520
521       The CMAKE_GENERATOR_PLATFORM variable  may  be  set,  perhaps  via  the
522       cmake(1)  -A  option, to specify a target platform name (architecture).
523       For example:
524
525       · cmake -G "Visual Studio 16 2019" -A Win32
526
527       · cmake -G "Visual Studio 16 2019" -A x64
528
529       · cmake -G "Visual Studio 16 2019" -A ARM
530
531       · cmake -G "Visual Studio 16 2019" -A ARM64
532
533   Toolset Selection
534       The v142 toolset that comes with Visual Studio 16 2019 is  selected  by
535       default.   The  CMAKE_GENERATOR_TOOLSET  option may be set, perhaps via
536       the cmake(1) -T option, to specify another toolset.
537
538       For each toolset that comes with this version of Visual  Studio,  there
539       are  variants  that are themselves compiled for 32-bit (x86) and 64-bit
540       (x64) hosts (independent of the architecture they target).  By  default
541       this  generator  uses  the  64-bit  variant on x64 hosts and the 32-bit
542       variant otherwise.  One may explicitly request use of either the 32-bit
543       or  64-bit  host  tools  by  adding  either host=x86 or host=x64 to the
544       toolset specification.  See the  CMAKE_GENERATOR_TOOLSET  variable  for
545       details.
546
547   Other Generators
548   Green Hills MULTI
549       Generates    Green    Hills    MULTI   project   files   (experimental,
550       work-in-progress).
551
552       The buildsystem has predetermined build-configuration settings that can
553       be controlled via the CMAKE_BUILD_TYPE variable.
554
555       Customizations that are used to pick toolset and target system:
556
557       The  -A  <arch>  can  be  supplied for setting the target architecture.
558       <arch> usually is one of arm, ppc, 86, etcetera.  If the target  archi‐
559       tecture  is  not specified then the default architecture of arm will be
560       used.
561
562       The -T <toolset> option can be used to set the  directory  location  of
563       the  toolset.   Both  absolute  and  relative paths are valid. Relative
564       paths use GHS_TOOLSET_ROOT as the root. If the toolset is not specified
565       then the latest toolset found in GHS_TOOLSET_ROOT will be used.
566
567       Cache  variables that are used for toolset and target system customiza‐
568       tion:
569
570       · GHS_TARGET_PLATFORM
571         Defaults to integrity.
572         Usual values are integrity, threadx, uvelosity, velosity,
573         vxworks, standalone.
574
575
576       · GHS_PRIMARY_TARGET
577         Sets primaryTarget entry in project file.
578         Defaults to <arch>_<GHS_TARGET_PLATFORM>.tgt.
579
580
581       · GHS_TOOLSET_ROOT
582         Root path for toolset searches.
583         Defaults to C:/ghs in Windows or /usr/ghs in Linux.
584
585
586       · GHS_OS_ROOT
587         Root path for RTOS searches.
588         Defaults to C:/ghs in Windows or /usr/ghs in Linux.
589
590
591       · GHS_OS_DIR and GHS_OS_DIR_OPTION
592         Sets -os_dir entry in project file.
593         Defaults to latest platform OS installation at GHS_OS_ROOT.  Set this value if
594         a specific RTOS is to be used.
595         GHS_OS_DIR_OPTION default value is -os_dir.
596
597
598       · GHS_BSP_NAME
599         Sets -bsp entry in project file.
600         Defaults to sim<arch> for integrity platforms.
601
602
603       Customizations are available through the following cache variables:
604
605       · GHS_CUSTOMIZATION
606
607       · GHS_GPJ_MACROS
608
609       The following properties are available:
610
611       · GHS_INTEGRITY_APP
612
613       · GHS_NO_SOURCE_GROUP_FILE
614
615       NOTE:
616          This generator is deemed experimental as  of  CMake  3.17.2  and  is
617          still  a work in progress.  Future versions of CMake may make break‐
618          ing changes as the generator matures.
619
620   Xcode
621       Generate Xcode project files.
622
623       This supports Xcode 5.0 and above.
624
625   Toolset Selection
626       By default Xcode is allowed to select its own default  toolchain.   The
627       CMAKE_GENERATOR_TOOLSET  option may be set, perhaps via the cmake(1) -T
628       option, to specify another toolset.
629

EXTRA GENERATORS

631       Some of the CMake Generators listed in the cmake(1)  command-line  tool
632       --help  output may have variants that specify an extra generator for an
633       auxiliary IDE tool.  Such generator names have the form  <extra-genera‐
634       tor>  -  <main-generator>.  The following extra generators are known to
635       CMake.
636
637   CodeBlocks
638       Generates CodeBlocks project files.
639
640       Project files for CodeBlocks will be created in the top  directory  and
641       in every subdirectory which features a CMakeLists.txt file containing a
642       project() call.  Additionally a hierarchy  of  makefiles  is  generated
643       into the build tree.  The CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES vari‐
644       able may be set to ON to exclude any files which are located outside of
645       the project root directory.  The appropriate make program can build the
646       project through the default all target.  An install target is also pro‐
647       vided.
648
649       This “extra” generator may be specified as:
650
651       CodeBlocks - MinGW Makefiles
652              Generate with MinGW Makefiles.
653
654       CodeBlocks - NMake Makefiles
655              Generate with NMake Makefiles.
656
657       CodeBlocks - NMake Makefiles JOM
658              Generate with NMake Makefiles JOM.
659
660       CodeBlocks - Ninja
661              Generate with Ninja.
662
663       CodeBlocks - Unix Makefiles
664              Generate with Unix Makefiles.
665
666   CodeLite
667       Generates CodeLite project files.
668
669       Project  files for CodeLite will be created in the top directory and in
670       every subdirectory which features a CMakeLists.txt  file  containing  a
671       project()  call.  The CMAKE_CODELITE_USE_TARGETS variable may be set to
672       ON to change the default behavior from projects to targets as the basis
673       for  project files.  The appropriate make program can build the project
674       through the default all target.  An install target is also provided.
675
676       This “extra” generator may be specified as:
677
678       CodeLite - MinGW Makefiles
679              Generate with MinGW Makefiles.
680
681       CodeLite - NMake Makefiles
682              Generate with NMake Makefiles.
683
684       CodeLite - Ninja
685              Generate with Ninja.
686
687       CodeLite - Unix Makefiles
688              Generate with Unix Makefiles.
689
690   Eclipse CDT4
691       Generates Eclipse CDT 4.0 project files.
692
693       Project files for Eclipse will be created in the top directory.  In out
694       of  source  builds, a linked resource to the top level source directory
695       will be created.  Additionally a hierarchy of  makefiles  is  generated
696       into  the  build  tree.   The  appropriate  make  program can build the
697       project through the default all target.  An install target is also pro‐
698       vided.
699
700       This “extra” generator may be specified as:
701
702       Eclipse CDT4 - MinGW Makefiles
703              Generate with MinGW Makefiles.
704
705       Eclipse CDT4 - NMake Makefiles
706              Generate with NMake Makefiles.
707
708       Eclipse CDT4 - Ninja
709              Generate with Ninja.
710
711       Eclipse CDT4 - Unix Makefiles
712              Generate with Unix Makefiles.
713
714   Kate
715       Generates Kate project files.
716
717       A project file for Kate will be created in the top directory in the top
718       level build directory.  To use it in Kate, the Project plugin  must  be
719       enabled.   The  project  file is loaded in Kate by opening the Project‐
720       Name.kateproject file in the  editor.   If  the  Kate  Build-plugin  is
721       enabled, all targets generated by CMake are available for building.
722
723       This “extra” generator may be specified as:
724
725       Kate - MinGW Makefiles
726              Generate with MinGW Makefiles.
727
728       Kate - NMake Makefiles
729              Generate with NMake Makefiles.
730
731       Kate - Ninja
732              Generate with Ninja.
733
734       Kate - Unix Makefiles
735              Generate with Unix Makefiles.
736
737   Sublime Text 2
738       Generates Sublime Text 2 project files.
739
740       Project  files  for Sublime Text 2 will be created in the top directory
741       and in every subdirectory which features a CMakeLists.txt file contain‐
742       ing  a  project()  call.  Additionally Makefiles (or build.ninja files)
743       are generated into the build tree.  The appropriate  make  program  can
744       build the project through the default all target.  An install target is
745       also provided.
746
747       This “extra” generator may be specified as:
748
749       Sublime Text 2 - MinGW Makefiles
750              Generate with MinGW Makefiles.
751
752       Sublime Text 2 - NMake Makefiles
753              Generate with NMake Makefiles.
754
755       Sublime Text 2 - Ninja
756              Generate with Ninja.
757
758       Sublime Text 2 - Unix Makefiles
759              Generate with Unix Makefiles.
760
762       2000-2020 Kitware, Inc. and Contributors
763
764
765
766
7673.17.2                           Apr 28, 2020              CMAKE-GENERATORS(7)
Impressum