author | April Chin <april.chin@oracle.com> |
Wed, 11 Nov 2015 12:06:59 -0800 | |
changeset 5081 | 198d4a3e4b73 |
permissions | -rw-r--r-- |
5081
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
1 |
.\" Man page generated from reStructuredText. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
2 |
. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
3 |
.TH "CMAKE-TOOLCHAINS" "7" "October 14, 2015" "3.3.2" "CMake" |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
4 |
.SH NAME |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
5 |
cmake-toolchains \- CMake Toolchains Reference |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
6 |
. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
7 |
.nr rst2man-indent-level 0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
8 |
. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
9 |
.de1 rstReportMargin |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
10 |
\\$1 \\n[an-margin] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
11 |
level \\n[rst2man-indent-level] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
12 |
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
13 |
- |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
14 |
\\n[rst2man-indent0] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
15 |
\\n[rst2man-indent1] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
16 |
\\n[rst2man-indent2] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
17 |
.. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
18 |
.de1 INDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
19 |
.\" .rstReportMargin pre: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
20 |
. RS \\$1 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
21 |
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
22 |
. nr rst2man-indent-level +1 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
23 |
.\" .rstReportMargin post: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
24 |
.. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
25 |
.de UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
26 |
. RE |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
27 |
.\" indent \\n[an-margin] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
28 |
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
29 |
.nr rst2man-indent-level -1 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
30 |
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
31 |
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
32 |
.. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
33 |
.SH INTRODUCTION |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
34 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
35 |
CMake uses a toolchain of utilities to compile, link libraries and create |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
36 |
archives, and other tasks to drive the build. The toolchain utilities available |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
37 |
are determined by the languages enabled. In normal builds, CMake automatically |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
38 |
determines the toolchain for host builds based on system introspection and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
39 |
defaults. In cross\-compiling scenarios, a toolchain file may be specified |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
40 |
with information about compiler and utility paths. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
41 |
.SH LANGUAGES |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
42 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
43 |
Languages are enabled by the \fBproject()\fP command. Language\-specific |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
44 |
built\-in variables, such as |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
45 |
\fBCMAKE_CXX_COMPILER\fP, |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
46 |
\fBCMAKE_CXX_COMPILER_ID\fP etc are set by |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
47 |
invoking the \fBproject()\fP command. If no project command |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
48 |
is in the top\-level CMakeLists file, one will be implicitly generated. By default |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
49 |
the enabled languages are C and CXX: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
50 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
51 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
52 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
53 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
54 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
55 |
project(C_Only C) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
56 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
57 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
58 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
59 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
60 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
61 |
A special value of NONE can also be used with the \fBproject()\fP command |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
62 |
to enable no languages: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
63 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
64 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
65 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
66 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
67 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
68 |
project(MyProject NONE) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
69 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
70 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
71 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
72 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
73 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
74 |
The \fBenable_language()\fP command can be used to enable languages after the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
75 |
\fBproject()\fP command: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
76 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
77 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
78 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
79 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
80 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
81 |
enable_language(CXX) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
82 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
83 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
84 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
85 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
86 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
87 |
When a language is enabled, CMake finds a compiler for that language, and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
88 |
determines some information, such as the vendor and version of the compiler, |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
89 |
the target architecture and bitwidth, the location of corresponding utilities |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
90 |
etc. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
91 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
92 |
The \fBENABLED_LANGUAGES\fP global property contains the languages which |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
93 |
are currently enabled. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
94 |
.SH VARIABLES AND PROPERTIES |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
95 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
96 |
Several variables relate to the language components of a toolchain which are |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
97 |
enabled. \fBCMAKE_<LANG>_COMPILER\fP is the full path to the compiler used |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
98 |
for \fB<LANG>\fP\&. \fBCMAKE_<LANG>_COMPILER_ID\fP is the identifier used |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
99 |
by CMake for the compiler and \fBCMAKE_<LANG>_COMPILER_VERSION\fP is the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
100 |
version of the compiler. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
101 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
102 |
The \fBCMAKE_<LANG>_FLAGS\fP variables and the configuration\-specific |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
103 |
equivalents contain flags that will be added to the compile command when |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
104 |
compiling a file of a particular language. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
105 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
106 |
As the linker is invoked by the compiler driver, CMake needs a way to determine |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
107 |
which compiler to use to invoke the linker. This is calculated by the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
108 |
\fBLANGUAGE\fP of source files in the target, and in the case of static |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
109 |
libraries, the language of the dependent libraries. The choice CMake makes may |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
110 |
be overridden with the \fBLINKER_LANGUAGE\fP target property. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
111 |
.SH TOOLCHAIN FEATURES |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
112 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
113 |
CMake provides the \fBtry_compile()\fP command and wrapper macros such as |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
114 |
\fBCheckCXXSourceCompiles\fP, \fBCheckCXXSymbolExists\fP and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
115 |
\fBCheckIncludeFile\fP to test capability and availability of various |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
116 |
toolchain features. These APIs test the toolchain in some way and cache the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
117 |
result so that the test does not have to be performed again the next time |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
118 |
CMake runs. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
119 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
120 |
Some toolchain features have built\-in handling in CMake, and do not require |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
121 |
compile\-tests. For example, \fBPOSITION_INDEPENDENT_CODE\fP allows |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
122 |
specifying that a target should be built as position\-independent code, if |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
123 |
the compiler supports that feature. The \fB<LANG>_VISIBILITY_PRESET\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
124 |
and \fBVISIBILITY_INLINES_HIDDEN\fP target properties add flags for |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
125 |
hidden visibility, if supported by the compiler. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
126 |
.SH CROSS COMPILING |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
127 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
128 |
If \fBcmake(1)\fP is invoked with the command line parameter |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
129 |
\fB\-DCMAKE_TOOLCHAIN_FILE=path/to/file\fP, the file will be loaded early to set |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
130 |
values for the compilers. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
131 |
The \fBCMAKE_CROSSCOMPILING\fP variable is set to true when CMake is |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
132 |
cross\-compiling. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
133 |
.SS Cross Compiling for Linux |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
134 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
135 |
A typical cross\-compiling toolchain for Linux has content such |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
136 |
as: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
137 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
138 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
139 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
140 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
141 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
142 |
set(CMAKE_SYSTEM_NAME Linux) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
143 |
set(CMAKE_SYSTEM_PROCESSOR arm) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
144 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
145 |
set(CMAKE_SYSROOT /home/devel/rasp\-pi\-rootfs) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
146 |
set(CMAKE_STAGING_PREFIX /home/devel/stage) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
147 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
148 |
set(tools /home/devel/gcc\-4.7\-linaro\-rpi\-gnueabihf) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
149 |
set(CMAKE_C_COMPILER ${tools}/bin/arm\-linux\-gnueabihf\-gcc) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
150 |
set(CMAKE_CXX_COMPILER ${tools}/bin/arm\-linux\-gnueabihf\-g++) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
151 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
152 |
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
153 |
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
154 |
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
155 |
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
156 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
157 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
158 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
159 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
160 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
161 |
The \fBCMAKE_SYSTEM_NAME\fP is the CMake\-identifier of the target platform |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
162 |
to build for. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
163 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
164 |
The \fBCMAKE_SYSTEM_PROCESSOR\fP is the CMake\-identifier of the target architecture |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
165 |
to build for. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
166 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
167 |
The \fBCMAKE_SYSROOT\fP is optional, and may be specified if a sysroot |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
168 |
is available. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
169 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
170 |
The \fBCMAKE_STAGING_PREFIX\fP is also optional. It may be used to specify |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
171 |
a path on the host to install to. The \fBCMAKE_INSTALL_PREFIX\fP is always |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
172 |
the runtime installation location, even when cross\-compiling. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
173 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
174 |
The \fBCMAKE_<LANG>_COMPILER\fP variables may be set to full paths, or to |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
175 |
names of compilers to search for in standard locations. In cases where CMake does |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
176 |
not have enough information to extract information from the compiler, the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
177 |
\fBCMakeForceCompiler\fP module can be used to bypass some of the checks. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
178 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
179 |
CMake \fBfind_*\fP commands will look in the sysroot, and the \fBCMAKE_FIND_ROOT_PATH\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
180 |
entries by default in all cases, as well as looking in the host system root prefix. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
181 |
Although this can be controlled on a case\-by\-case basis, when cross\-compiling, it |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
182 |
can be useful to exclude looking in either the host or the target for particular |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
183 |
artifacts. Generally, includes, libraries and packages should be found in the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
184 |
target system prefixes, whereas executables which must be run as part of the build |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
185 |
should be found only on the host and not on the target. This is the purpose of |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
186 |
the \fBCMAKE_FIND_ROOT_PATH_MODE_*\fP variables. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
187 |
.SS Cross Compiling using Clang |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
188 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
189 |
Some compilers such as Clang are inherently cross compilers. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
190 |
The \fBCMAKE_<LANG>_COMPILER_TARGET\fP can be set to pass a |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
191 |
value to those supported compilers when compiling: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
192 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
193 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
194 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
195 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
196 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
197 |
set(CMAKE_SYSTEM_NAME Linux) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
198 |
set(CMAKE_SYSTEM_PROCESSOR arm) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
199 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
200 |
set(triple arm\-linux\-gnueabihf) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
201 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
202 |
set(CMAKE_C_COMPILER clang) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
203 |
set(CMAKE_C_COMPILER_TARGET ${triple}) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
204 |
set(CMAKE_CXX_COMPILER clang++) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
205 |
set(CMAKE_CXX_COMPILER_TARGET ${triple}) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
206 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
207 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
208 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
209 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
210 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
211 |
Similarly, some compilers do not ship their own supplementary utilities |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
212 |
such as linkers, but provide a way to specify the location of the external |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
213 |
toolchain which will be used by the compiler driver. The |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
214 |
\fBCMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN\fP variable can be set in a |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
215 |
toolchain file to pass the path to the compiler driver. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
216 |
.SS Cross Compiling for QNX |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
217 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
218 |
As the Clang compiler the QNX QCC compile is inherently a cross compiler. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
219 |
And the \fBCMAKE_<LANG>_COMPILER_TARGET\fP can be set to pass a |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
220 |
value to those supported compilers when compiling: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
221 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
222 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
223 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
224 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
225 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
226 |
set(CMAKE_SYSTEM_NAME QNX) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
227 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
228 |
set(arch gcc_ntoarmv7le) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
229 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
230 |
set(CMAKE_C_COMPILER qcc) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
231 |
set(CMAKE_C_COMPILER_TARGET ${arch}) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
232 |
set(CMAKE_CXX_COMPILER QCC) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
233 |
set(CMAKE_CXX_COMPILER_TARGET ${arch}) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
234 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
235 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
236 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
237 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
238 |
.SS Cross Compiling for Windows CE |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
239 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
240 |
Cross compiling for Windows CE requires the corresponding SDK being |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
241 |
installed on your system. These SDKs are usually installed under |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
242 |
\fBC:/Program Files (x86)/Windows CE Tools/SDKs\fP\&. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
243 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
244 |
A toolchain file to configure a Visual Studio generator for |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
245 |
Windows CE may look like this: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
246 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
247 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
248 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
249 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
250 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
251 |
set(CMAKE_SYSTEM_NAME WindowsCE) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
252 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
253 |
set(CMAKE_SYSTEM_VERSION 8.0) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
254 |
set(CMAKE_SYSTEM_PROCESSOR arm) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
255 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
256 |
set(CMAKE_GENERATOR_TOOLSET CE800) # Can be omitted for 8.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
257 |
set(CMAKE_GENERATOR_PLATFORM SDK_AM335X_SK_WEC2013_V310) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
258 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
259 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
260 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
261 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
262 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
263 |
The \fBCMAKE_GENERATOR_PLATFORM\fP tells the generator which SDK to use. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
264 |
Further \fBCMAKE_SYSTEM_VERSION\fP tells the generator what version of |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
265 |
Windows CE to use. Currently version 8.0 (Windows Embedded Compact 2013) is |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
266 |
supported out of the box. Other versions may require one to set |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
267 |
\fBCMAKE_GENERATOR_TOOLSET\fP to the correct value. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
268 |
.SS Cross Compiling for Windows Phone |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
269 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
270 |
A toolchain file to configure a Visual Studio generator for |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
271 |
Windows Phone may look like this: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
272 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
273 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
274 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
275 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
276 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
277 |
set(CMAKE_SYSTEM_NAME WindowsPhone) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
278 |
set(CMAKE_SYSTEM_VERSION 8.1) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
279 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
280 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
281 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
282 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
283 |
.SS Cross Compiling for Windows Store |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
284 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
285 |
A toolchain file to configure a Visual Studio generator for |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
286 |
Windows Store may look like this: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
287 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
288 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
289 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
290 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
291 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
292 |
set(CMAKE_SYSTEM_NAME WindowsStore) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
293 |
set(CMAKE_SYSTEM_VERSION 8.1) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
294 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
295 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
296 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
297 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
298 |
.SS Cross Compiling using NVIDIA Nsight Tegra |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
299 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
300 |
A toolchain file to configure a Visual Studio generator to |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
301 |
build using NVIDIA Nsight Tegra targeting Android may look |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
302 |
like this: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
303 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
304 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
305 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
306 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
307 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
308 |
set(CMAKE_SYSTEM_NAME Android) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
309 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
310 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
311 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
312 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
313 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
314 |
The \fBCMAKE_GENERATOR_TOOLSET\fP may be set to select |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
315 |
the Nsight Tegra "Toolchain Version" value. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
316 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
317 |
See the \fBANDROID_API_MIN\fP, \fBANDROID_API\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
318 |
and \fBANDROID_GUI\fP target properties to configure |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
319 |
targets within the project. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
320 |
.SH COPYRIGHT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
321 |
2000-2015 Kitware, Inc. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
322 |
.\" Generated by docutils manpage writer. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
323 |
. |