Update cmake to 3.5.2
[unleashed-userland.git] / components / developer / cmake / files / man7 / cmake-generators.7
blob83c7662cb10a2e812a87fa70e8e500be96c48332
1 .\" Man page generated from reStructuredText.
3 .TH "CMAKE-GENERATORS" "7" "October 14, 2015" "3.3.2" "CMake"
4 .SH NAME
5 cmake-generators \- CMake Generators Reference
7 .nr rst2man-indent-level 0
9 .de1 rstReportMargin
10 \\$1 \\n[an-margin]
11 level \\n[rst2man-indent-level]
12 level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
14 \\n[rst2man-indent0]
15 \\n[rst2man-indent1]
16 \\n[rst2man-indent2]
18 .de1 INDENT
19 .\" .rstReportMargin pre:
20 . RS \\$1
21 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
22 . nr rst2man-indent-level +1
23 .\" .rstReportMargin post:
25 .de UNINDENT
26 . RE
27 .\" indent \\n[an-margin]
28 .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 .nr rst2man-indent-level -1
30 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
31 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
33 .SH INTRODUCTION
34 .sp
35 A \fICMake Generator\fP is responsible for writing the input files for
36 a native build system.  Exactly one of the \fI\%CMake Generators\fP must be
37 selected for a build tree to determine what native build system is to
38 be used.  Optionally one of the \fI\%Extra Generators\fP may be selected
39 as a variant of some of the \fI\%Command\-Line Build Tool Generators\fP to
40 produce project files for an auxiliary IDE.
41 .sp
42 CMake Generators are platform\-specific so each may be available only
43 on certain platforms.  The \fBcmake(1)\fP command\-line tool \fB\-\-help\fP
44 output lists available generators on the current platform.  Use its \fB\-G\fP
45 option to specify the generator for a new build tree.
46 The \fBcmake\-gui(1)\fP offers interactive selection of a generator
47 when creating a new build tree.
48 .SH CMAKE GENERATORS
49 .SS Command\-Line Build Tool Generators
50 .sp
51 These generators support command\-line build tools.  In order to use them,
52 one must launch CMake from a command\-line prompt whose environment is
53 already configured for the chosen compiler and build tool.
54 .SS Makefile Generators
55 .SS Borland Makefiles
56 .sp
57 Generates Borland makefiles.
58 .SS MSYS Makefiles
59 .sp
60 Generates makefiles for use with MSYS \fBmake\fP under the MSYS shell.
61 .sp
62 Use this generator in a MSYS shell prompt and using \fBmake\fP as the build
63 tool.  The generated makefiles use \fB/bin/sh\fP as the shell to launch build
64 rules.  They are not compatible with a Windows command prompt.
65 .sp
66 To build under a Windows command prompt, use the
67 \fBMinGW Makefiles\fP generator.
68 .SS MinGW Makefiles
69 .sp
70 Generates makefiles for use with \fBmingw32\-make\fP under a Windows command
71 prompt.
72 .sp
73 Use this generator under a Windows command prompt with MinGW in the \fBPATH\fP
74 and using \fBmingw32\-make\fP as the build tool.  The generated makefiles use
75 \fBcmd.exe\fP as the shell to launch build rules.  They are not compatible with
76 MSYS or a unix shell.
77 .sp
78 To build under the MSYS shell, use the \fBMSYS Makefiles\fP generator.
79 .SS NMake Makefiles
80 .sp
81 Generates NMake makefiles.
82 .SS NMake Makefiles JOM
83 .sp
84 Generates JOM makefiles.
85 .SS Unix Makefiles
86 .sp
87 Generates standard UNIX makefiles.
88 .sp
89 A hierarchy of UNIX makefiles is generated into the build tree.  Any
90 standard UNIX\-style make program can build the project through the
91 default make target.  A "make install" target is also provided.
92 .SS Watcom WMake
93 .sp
94 Generates Watcom WMake makefiles.
95 .SS Ninja Generator
96 .SS Ninja
97 .sp
98 Generates build.ninja files.
99 .sp
100 A build.ninja file is generated into the build tree.  Recent versions
101 of the ninja program can build the project through the "all" target.
102 An "install" target is also provided.
103 .SS IDE Build Tool Generators
105 These generators support Integrated Development Environment (IDE)
106 project files.  Since the IDEs configure their own environment
107 one may launch CMake from any environment.
108 .SS Visual Studio Generators
109 .SS Visual Studio 6
111 Deprected.  Generates Visual Studio 6 project files.
113 \fBNOTE:\fP
114 .INDENT 0.0
115 .INDENT 3.5
116 This generator is deprecated and will be removed
117 in a future version of CMake.  It will still be
118 possible to build with VS 6 tools using the
119 \fBNMake Makefiles\fP generator.
120 .UNINDENT
121 .UNINDENT
122 .SS Visual Studio 7
124 Deprected.  Generates Visual Studio .NET 2002 project files.
126 \fBNOTE:\fP
127 .INDENT 0.0
128 .INDENT 3.5
129 This generator is deprecated and will be removed
130 in a future version of CMake.  It will still be
131 possible to build with VS 7.0 tools using the
132 \fBNMake Makefiles\fP generator.
133 .UNINDENT
134 .UNINDENT
135 .SS Visual Studio 7 .NET 2003
137 Generates Visual Studio .NET 2003 project files.
138 .SS Visual Studio 8 2005
140 Generates Visual Studio 8 2005 project files.
142 The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
143 to specify a target platform name.
145 For compatibility with CMake versions prior to 3.1, one may specify
146 a target platform name optionally at the end of this generator name:
147 .INDENT 0.0
149 .B \fBVisual Studio 8 2005 Win64\fP
150 Specify target platform \fBx64\fP\&.
152 .B \fBVisual Studio 8 2005 <WinCE\-SDK>\fP
153 Specify target platform matching a Windows CE SDK name.
154 .UNINDENT
155 .SS Visual Studio 9 2008
157 Generates Visual Studio 9 2008 project files.
159 The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
160 to specify a target platform name.
162 For compatibility with CMake versions prior to 3.1, one may specify
163 a target platform name optionally at the end of this generator name:
164 .INDENT 0.0
166 .B \fBVisual Studio 9 2008 Win64\fP
167 Specify target platform \fBx64\fP\&.
169 .B \fBVisual Studio 9 2008 IA64\fP
170 Specify target platform \fBItanium\fP\&.
172 .B \fBVisual Studio 9 2008 <WinCE\-SDK>\fP
173 Specify target platform matching a Windows CE SDK name.
174 .UNINDENT
175 .SS Visual Studio 10 2010
177 Generates Visual Studio 10 (VS 2010) project files.
179 The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
180 to specify a target platform name.
182 For compatibility with CMake versions prior to 3.1, one may specify
183 a target platform name optionally at the end of this generator name:
184 .INDENT 0.0
186 .B \fBVisual Studio 10 2010 Win64\fP
187 Specify target platform \fBx64\fP\&.
189 .B \fBVisual Studio 10 2010 IA64\fP
190 Specify target platform \fBItanium\fP\&.
191 .UNINDENT
193 For compatibility with CMake versions prior to 3.0, one may specify this
194 generator using the name \fBVisual Studio 10\fP without the year component.
195 .SS Visual Studio 11 2012
197 Generates Visual Studio 11 (VS 2012) project files.
199 The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
200 to specify a target platform name.
202 For compatibility with CMake versions prior to 3.1, one may specify
203 a target platform name optionally at the end of this generator name:
204 .INDENT 0.0
206 .B \fBVisual Studio 11 2012 Win64\fP
207 Specify target platform \fBx64\fP\&.
209 .B \fBVisual Studio 11 2012 ARM\fP
210 Specify target platform \fBARM\fP\&.
212 .B \fBVisual Studio 11 2012 <WinCE\-SDK>\fP
213 Specify target platform matching a Windows CE SDK name.
214 .UNINDENT
216 For compatibility with CMake versions prior to 3.0, one may specify this
217 generator using the name "Visual Studio 11" without the year component.
218 .SS Visual Studio 12 2013
220 Generates Visual Studio 12 (VS 2013) project files.
222 The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
223 to specify a target platform name.
225 For compatibility with CMake versions prior to 3.1, one may specify
226 a target platform name optionally at the end of this generator name:
227 .INDENT 0.0
229 .B \fBVisual Studio 12 2013 Win64\fP
230 Specify target platform \fBx64\fP\&.
232 .B \fBVisual Studio 12 2013 ARM\fP
233 Specify target platform \fBARM\fP\&.
234 .UNINDENT
236 For compatibility with CMake versions prior to 3.0, one may specify this
237 generator using the name "Visual Studio 12" without the year component.
238 .SS Visual Studio 14 2015
240 Generates Visual Studio 14 (VS 2015) project files.
242 The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
243 to specify a target platform name.
245 For compatibility with CMake versions prior to 3.1, one may specify
246 a target platform name optionally at the end of this generator name:
247 .INDENT 0.0
249 .B \fBVisual Studio 14 2015 Win64\fP
250 Specify target platform \fBx64\fP\&.
252 .B \fBVisual Studio 14 2015 ARM\fP
253 Specify target platform \fBARM\fP\&.
254 .UNINDENT
255 .SS Other Generators
256 .SS Green Hills MULTI
258 Generates Green Hills MULTI project files (experimental, work\-in\-progress).
260 Customizations are available through the following cache variables:
261 .INDENT 0.0
262 .IP \(bu 2
263 \fBGHS_BSP_NAME\fP
264 .IP \(bu 2
265 \fBGHS_CUSTOMIZATION\fP
266 .IP \(bu 2
267 \fBGHS_GPJ_MACROS\fP
268 .IP \(bu 2
269 \fBGHS_OS_DIR\fP
270 .UNINDENT
272 \fBNOTE:\fP
273 .INDENT 0.0
274 .INDENT 3.5
275 This generator is deemed experimental as of CMake 3.3.2
276 and is still a work in progress.  Future versions of CMake
277 may make breaking changes as the generator matures.
278 .UNINDENT
279 .UNINDENT
280 .SS Xcode
282 Generate Xcode project files.
283 .SH EXTRA GENERATORS
285 Some of the \fI\%CMake Generators\fP listed in the \fBcmake(1)\fP
286 command\-line tool \fB\-\-help\fP output may have variants that specify
287 an extra generator for an auxiliary IDE tool.  Such generator
288 names have the form \fB<extra\-generator> \- <main\-generator>\fP\&.
289 The following extra generators are known to CMake.
290 .SS CodeBlocks
292 Generates CodeBlocks project files.
294 Project files for CodeBlocks will be created in the top directory and
295 in every subdirectory which features a CMakeLists.txt file containing
296 a PROJECT() call.  Additionally a hierarchy of makefiles is generated
297 into the build tree.  The appropriate make program can build the
298 project through the default make target.  A "make install" target is
299 also provided.
301 This "extra" generator may be specified as:
302 .INDENT 0.0
304 .B \fBCodeBlocks \- MinGW Makefiles\fP
305 Generate with \fBMinGW Makefiles\fP\&.
307 .B \fBCodeBlocks \- NMake Makefiles\fP
308 Generate with \fBNMake Makefiles\fP\&.
310 .B \fBCodeBlocks \- Ninja\fP
311 Generate with \fBNinja\fP\&.
313 .B \fBCodeBlocks \- Unix Makefiles\fP
314 Generate with \fBUnix Makefiles\fP\&.
315 .UNINDENT
316 .SS CodeLite
318 Generates CodeLite project files.
320 Project files for CodeLite will be created in the top directory and
321 in every subdirectory which features a CMakeLists.txt file containing
322 a PROJECT() call. The appropriate make program can build the
323 project through the default make target.  A "make install" target is
324 also provided.
326 This "extra" generator may be specified as:
327 .INDENT 0.0
329 .B \fBCodeLite \- MinGW Makefiles\fP
330 Generate with \fBMinGW Makefiles\fP\&.
332 .B \fBCodeLite \- NMake Makefiles\fP
333 Generate with \fBNMake Makefiles\fP\&.
335 .B \fBCodeLite \- Ninja\fP
336 Generate with \fBNinja\fP\&.
338 .B \fBCodeLite \- Unix Makefiles\fP
339 Generate with \fBUnix Makefiles\fP\&.
340 .UNINDENT
341 .SS Eclipse CDT4
343 Generates Eclipse CDT 4.0 project files.
345 Project files for Eclipse will be created in the top directory.  In
346 out of source builds, a linked resource to the top level source
347 directory will be created.  Additionally a hierarchy of makefiles is
348 generated into the build tree.  The appropriate make program can build
349 the project through the default make target.  A "make install" target
350 is also provided.
352 This "extra" generator may be specified as:
353 .INDENT 0.0
355 .B \fBEclipse CDT4 \- MinGW Makefiles\fP
356 Generate with \fBMinGW Makefiles\fP\&.
358 .B \fBEclipse CDT4 \- NMake Makefiles\fP
359 Generate with \fBNMake Makefiles\fP\&.
361 .B \fBEclipse CDT4 \- Ninja\fP
362 Generate with \fBNinja\fP\&.
364 .B \fBEclipse CDT4 \- Unix Makefiles\fP
365 Generate with \fBUnix Makefiles\fP\&.
366 .UNINDENT
367 .SS KDevelop3
369 Generates KDevelop 3 project files.
371 Project files for KDevelop 3 will be created in the top directory and
372 in every subdirectory which features a CMakeLists.txt file containing
373 a PROJECT() call.  If you change the settings using KDevelop cmake
374 will try its best to keep your changes when regenerating the project
375 files.  Additionally a hierarchy of UNIX makefiles is generated into
376 the build tree.  Any standard UNIX\-style make program can build the
377 project through the default make target.  A "make install" target is
378 also provided.
380 This "extra" generator may be specified as:
381 .INDENT 0.0
383 .B \fBKDevelop3 \- Unix Makefiles\fP
384 Generate with \fBUnix Makefiles\fP\&.
386 .B \fBKDevelop3\fP
387 Generate with \fBUnix Makefiles\fP\&.
389 For historical reasons this extra generator may be specified
390 directly as the main generator and it will be used as the
391 extra generator with \fBUnix Makefiles\fP automatically.
392 .UNINDENT
393 .SS Kate
395 Generates Kate project files.
397 A project file for Kate will be created in the top directory in the top level
398 build directory.
399 To use it in kate, the Project plugin must be enabled.
400 The project file is loaded in kate simply by opening the
401 ProjectName.kateproject file in the editor.
402 If the kate Build\-plugin is enabled, all targets generated by CMake are
403 available for building.
405 This "extra" generator may be specified as:
406 .INDENT 0.0
408 .B \fBKate \- MinGW Makefiles\fP
409 Generate with \fBMinGW Makefiles\fP\&.
411 .B \fBKate \- NMake Makefiles\fP
412 Generate with \fBNMake Makefiles\fP\&.
414 .B \fBKate \- Ninja\fP
415 Generate with \fBNinja\fP\&.
417 .B \fBKate \- Unix Makefiles\fP
418 Generate with \fBUnix Makefiles\fP\&.
419 .UNINDENT
420 .SS Sublime Text 2
422 Generates Sublime Text 2 project files.
424 Project files for Sublime Text 2 will be created in the top directory
425 and in every subdirectory which features a CMakeLists.txt file
426 containing a PROJECT() call.  Additionally Makefiles (or build.ninja
427 files) are generated into the build tree.  The appropriate make
428 program can build the project through the default make target.  A
429 "make install" target is also provided.
431 This "extra" generator may be specified as:
432 .INDENT 0.0
434 .B \fBSublime Text 2 \- MinGW Makefiles\fP
435 Generate with \fBMinGW Makefiles\fP\&.
437 .B \fBSublime Text 2 \- NMake Makefiles\fP
438 Generate with \fBNMake Makefiles\fP\&.
440 .B \fBSublime Text 2 \- Ninja\fP
441 Generate with \fBNinja\fP\&.
443 .B \fBSublime Text 2 \- Unix Makefiles\fP
444 Generate with \fBUnix Makefiles\fP\&.
445 .UNINDENT
446 .SH COPYRIGHT
447 2000-2015 Kitware, Inc.
448 .\" Generated by docutils manpage writer.