1CMAKE-GENERATORS(7) CMake CMAKE-GENERATORS(7)
2
3
4
6 cmake-generators - CMake Generators Reference
7
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
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
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)