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-LANGUAGE" "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-language \- CMake Language 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 ORGANIZATION |
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 input files are written in the "CMake Language" in source files |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
36 |
named \fBCMakeLists.txt\fP or ending in a \fB\&.cmake\fP file name extension. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
37 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
38 |
CMake Language source files in a project are organized into: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
39 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
40 |
.IP \(bu 2 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
41 |
\fI\%Directories\fP (\fBCMakeLists.txt\fP), |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
42 |
.IP \(bu 2 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
43 |
\fI\%Scripts\fP (\fB<script>.cmake\fP), and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
44 |
.IP \(bu 2 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
45 |
\fI\%Modules\fP (\fB<module>.cmake\fP). |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
46 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
47 |
.SS Directories |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
48 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
49 |
When CMake processes a project source tree, the entry point is |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
50 |
a source file called \fBCMakeLists.txt\fP in the top\-level source |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
51 |
directory. This file may contain the entire build specification |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
52 |
or use the \fBadd_subdirectory()\fP command to add subdirectories |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
53 |
to the build. Each subdirectory added by the command must also |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
54 |
contain a \fBCMakeLists.txt\fP file as the entry point to that |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
55 |
directory. For each source directory whose \fBCMakeLists.txt\fP file |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
56 |
is processed CMake generates a corresponding directory in the build |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
57 |
tree to act as the default working and output directory. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
58 |
.SS Scripts |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
59 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
60 |
An individual \fB<script>.cmake\fP source file may be processed |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
61 |
in \fIscript mode\fP by using the \fBcmake(1)\fP command\-line tool |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
62 |
with the \fB\-P\fP option. Script mode simply runs the commands in |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
63 |
the given CMake Language source file and does not generate a |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
64 |
build system. It does not allow CMake commands that define build |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
65 |
targets or actions. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
66 |
.SS Modules |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
67 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
68 |
CMake Language code in either \fI\%Directories\fP or \fI\%Scripts\fP may |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
69 |
use the \fBinclude()\fP command to load a \fB<module>.cmake\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
70 |
source file in the scope of the including context. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
71 |
See the \fBcmake\-modules(7)\fP manual page for documentation |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
72 |
of modules included with the CMake distribution. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
73 |
Project source trees may also provide their own modules and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
74 |
specify their location(s) in the \fBCMAKE_MODULE_PATH\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
75 |
variable. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
76 |
.SH SYNTAX |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
77 |
.SS Encoding |
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 |
A CMake Language source file may be written in 7\-bit ASCII text for |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
80 |
maximum portability across all supported platforms. Newlines may be |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
81 |
encoded as either \fB\en\fP or \fB\er\en\fP but will be converted to \fB\en\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
82 |
as input files are read. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
83 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
84 |
Note that the implementation is 8\-bit clean so source files may |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
85 |
be encoded as UTF\-8 on platforms with system APIs supporting this |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
86 |
encoding. In addition, CMake 3.2 and above support source files |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
87 |
encoded in UTF\-8 on Windows (using UTF\-16 to call system APIs). |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
88 |
Furthermore, CMake 3.0 and above allow a leading UTF\-8 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
89 |
\fI\%Byte\-Order Mark\fP in source files. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
90 |
.SS Source Files |
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 |
A CMake Language source file consists of zero or more |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
93 |
\fI\%Command Invocations\fP separated by newlines and optionally |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
94 |
spaces and \fI\%Comments\fP: |
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 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
97 |
\fBfile \fP ::= \fI\%file_element\fP* |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
98 |
\fBfile_element\fP ::= \fI\%command_invocation\fP \fI\%line_ending\fP | |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
99 |
(\fI\%bracket_comment\fP|\fI\%space\fP)* \fI\%line_ending\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
100 |
\fBline_ending \fP ::= \fI\%line_comment\fP? \fI\%newline\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
101 |
\fBspace \fP ::= <match \(aq[ \et]+\(aq> |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
102 |
\fBnewline \fP ::= <match \(aq\en\(aq> |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
103 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
104 |
.fi |
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 |
Note that any source file line not inside \fI\%Command Arguments\fP or |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
107 |
a \fI\%Bracket Comment\fP can end in a \fI\%Line Comment\fP\&. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
108 |
.SS Command Invocations |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
109 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
110 |
A \fIcommand invocation\fP is a name followed by paren\-enclosed arguments |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
111 |
separated by whitespace: |
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 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
114 |
\fBcommand_invocation \fP ::= \fI\%space\fP* \fI\%identifier\fP \fI\%space\fP* \(aq(\(aq \fI\%arguments\fP \(aq)\(aq |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
115 |
\fBidentifier \fP ::= <match \(aq[A\-Za\-z_][A\-Za\-z0\-9_]*\(aq> |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
116 |
\fBarguments \fP ::= \fI\%argument\fP? \fI\%separated_arguments\fP* |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
117 |
\fBseparated_arguments\fP ::= \fI\%separation\fP+ \fI\%argument\fP? | |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
118 |
\fI\%separation\fP* \(aq(\(aq \fI\%arguments\fP \(aq)\(aq |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
119 |
\fBseparation \fP ::= \fI\%space\fP | \fI\%line_ending\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
120 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
121 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
122 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
123 |
For example: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
124 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
125 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
126 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
127 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
128 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
129 |
add_executable(hello world.c) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
130 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
131 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
132 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
133 |
.UNINDENT |
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 |
Command names are case\-insensitive. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
136 |
Nested unquoted parentheses in the arguments must balance. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
137 |
Each \fB(\fP or \fB)\fP is given to the command invocation as |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
138 |
a literal \fI\%Unquoted Argument\fP\&. This may be used in calls |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
139 |
to the \fBif()\fP command to enclose conditions. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
140 |
For example: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
141 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
142 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
143 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
144 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
145 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
146 |
if(FALSE AND (FALSE OR TRUE)) # evaluates to FALSE |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
147 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
148 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
149 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
150 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
151 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
152 |
\fBNOTE:\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
153 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
154 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
155 |
CMake versions prior to 3.0 require command name identifiers |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
156 |
to be at least 2 characters. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
157 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
158 |
CMake versions prior to 2.8.12 silently accept an \fI\%Unquoted Argument\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
159 |
or a \fI\%Quoted Argument\fP immediately following a \fI\%Quoted Argument\fP and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
160 |
not separated by any whitespace. For compatibility, CMake 2.8.12 and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
161 |
higher accept such code but produce a warning. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
162 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
163 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
164 |
.SS Command Arguments |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
165 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
166 |
There are three types of arguments within \fI\%Command Invocations\fP: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
167 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
168 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
169 |
\fBargument\fP ::= \fI\%bracket_argument\fP | \fI\%quoted_argument\fP | \fI\%unquoted_argument\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
170 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
171 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
172 |
.SS Bracket Argument |
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 |
A \fIbracket argument\fP, inspired by \fI\%Lua\fP long bracket syntax, |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
175 |
encloses content between opening and closing "brackets" of the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
176 |
same length: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
177 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
178 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
179 |
\fBbracket_argument\fP ::= \fI\%bracket_open\fP \fI\%bracket_content\fP \fI\%bracket_close\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
180 |
\fBbracket_open \fP ::= \(aq[\(aq \(aq=\(aq{len} \(aq[\(aq |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
181 |
\fBbracket_content \fP ::= <any text not containing a \fI\%bracket_close\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
182 |
of the same {len} as the \fI\%bracket_open\fP> |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
183 |
\fBbracket_close \fP ::= \(aq]\(aq \(aq=\(aq{len} \(aq]\(aq |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
184 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
185 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
186 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
187 |
An opening bracket of length \fIlen >= 0\fP is written \fB[\fP followed |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
188 |
by \fIlen\fP \fB=\fP followed by \fB[\fP and the corresponding closing |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
189 |
bracket is written \fB]\fP followed by \fIlen\fP \fB=\fP followed by \fB]\fP\&. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
190 |
Brackets do not nest. A unique length may always be chosen |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
191 |
for the opening and closing brackets to contain closing brackets |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
192 |
of other lengths. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
193 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
194 |
Bracket argument content consists of all text between the opening |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
195 |
and closing brackets, except that one newline immediately following |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
196 |
the opening bracket, if any, is ignored. No evaluation of the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
197 |
enclosed content, such as \fI\%Escape Sequences\fP or \fI\%Variable References\fP, |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
198 |
is performed. A bracket argument is always given to the command |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
199 |
invocation as exactly one argument. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
200 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
201 |
For example: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
202 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
203 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
204 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
205 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
206 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
207 |
message([=[ |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
208 |
This is the first line in a bracket argument with bracket length 1. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
209 |
No \e\-escape sequences or ${variable} references are evaluated. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
210 |
This is always one argument even though it contains a ; character. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
211 |
The text does not end on a closing bracket of length 0 like ]]. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
212 |
It does end in a closing bracket of length 1. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
213 |
]=]) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
214 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
215 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
216 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
217 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
218 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
219 |
\fBNOTE:\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
220 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
221 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
222 |
CMake versions prior to 3.0 do not support bracket arguments. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
223 |
They interpret the opening bracket as the start of an |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
224 |
\fI\%Unquoted Argument\fP\&. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
225 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
226 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
227 |
.SS Quoted Argument |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
228 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
229 |
A \fIquoted argument\fP encloses content between opening and closing |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
230 |
double\-quote characters: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
231 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
232 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
233 |
\fBquoted_argument \fP ::= \(aq"\(aq \fI\%quoted_element\fP* \(aq"\(aq |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
234 |
\fBquoted_element \fP ::= <any character except \(aq\e\(aq or \(aq"\(aq> | |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
235 |
\fI\%escape_sequence\fP | |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
236 |
\fI\%quoted_continuation\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
237 |
\fBquoted_continuation\fP ::= \(aq\e\(aq \fI\%newline\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
238 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
239 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
240 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
241 |
Quoted argument content consists of all text between opening and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
242 |
closing quotes. Both \fI\%Escape Sequences\fP and \fI\%Variable References\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
243 |
are evaluated. A quoted argument is always given to the command |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
244 |
invocation as exactly one argument. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
245 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
246 |
For example: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
247 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
248 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
249 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
250 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
251 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
252 |
message("This is a quoted argument containing multiple lines. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
253 |
This is always one argument even though it contains a ; character. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
254 |
Both \e\e\-escape sequences and ${variable} references are evaluated. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
255 |
The text does not end on an escaped double\-quote like \e". |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
256 |
It does end in an unescaped double quote. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
257 |
") |
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 final \fB\e\fP on any line ending in an odd number of backslashes |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
264 |
is treated as a line continuation and ignored along with the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
265 |
immediately following newline character. For example: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
266 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
267 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
268 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
269 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
270 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
271 |
message("\e |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
272 |
This is the first line of a quoted argument. \e |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
273 |
In fact it is the only line but since it is long \e |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
274 |
the source code uses line continuation.\e |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
275 |
") |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
276 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
277 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
278 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
279 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
280 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
281 |
\fBNOTE:\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
282 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
283 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
284 |
CMake versions prior to 3.0 do not support continuation with \fB\e\fP\&. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
285 |
They report errors in quoted arguments containing lines ending in |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
286 |
an odd number of \fB\e\fP characters. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
287 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
288 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
289 |
.SS Unquoted Argument |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
290 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
291 |
An \fIunquoted argument\fP is not enclosed by any quoting syntax. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
292 |
It may not contain any whitespace, \fB(\fP, \fB)\fP, \fB#\fP, \fB"\fP, or \fB\e\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
293 |
except when escaped by a backslash: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
294 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
295 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
296 |
\fBunquoted_argument\fP ::= \fI\%unquoted_element\fP+ | \fI\%unquoted_legacy\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
297 |
\fBunquoted_element \fP ::= <any character except whitespace or one of \(aq()#"\e\(aq> | |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
298 |
\fI\%escape_sequence\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
299 |
\fBunquoted_legacy \fP ::= <see note in text> |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
300 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
301 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
302 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
303 |
Unquoted argument content consists of all text in a contiguous block |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
304 |
of allowed or escaped characters. Both \fI\%Escape Sequences\fP and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
305 |
\fI\%Variable References\fP are evaluated. The resulting value is divided |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
306 |
in the same way \fI\%Lists\fP divide into elements. Each non\-empty element |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
307 |
is given to the command invocation as an argument. Therefore an |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
308 |
unquoted argument may be given to a command invocation as zero or |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
309 |
more arguments. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
310 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
311 |
For example: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
312 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
313 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
314 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
315 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
316 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
317 |
foreach(arg |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
318 |
NoSpace |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
319 |
Escaped\e Space |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
320 |
This;Divides;Into;Five;Arguments |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
321 |
Escaped\e;Semicolon |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
322 |
) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
323 |
message("${arg}") |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
324 |
endforeach() |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
325 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
326 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
327 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
328 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
329 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
330 |
\fBNOTE:\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
331 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
332 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
333 |
To support legacy CMake code, unquoted arguments may also contain |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
334 |
double\-quoted strings (\fB"..."\fP, possibly enclosing horizontal |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
335 |
whitespace), and make\-style variable references (\fB$(MAKEVAR)\fP). |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
336 |
Unescaped double\-quotes must balance, may not appear at the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
337 |
beginning of an unquoted argument, and are treated as part of the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
338 |
content. For example, the unquoted arguments \fB\-Da="b c"\fP, |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
339 |
\fB\-Da=$(v)\fP, and \fBa" "b"c"d\fP are each interpreted literally. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
340 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
341 |
The above "unquoted_legacy" production represents such arguments. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
342 |
We do not recommend using legacy unquoted arguments in new code. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
343 |
Instead use a \fI\%Quoted Argument\fP or a \fI\%Bracket Argument\fP to |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
344 |
represent the content. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
345 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
346 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
347 |
.SS Escape Sequences |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
348 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
349 |
An \fIescape sequence\fP is a \fB\e\fP followed by one character: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
350 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
351 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
352 |
\fBescape_sequence \fP ::= \fI\%escape_identity\fP | \fI\%escape_encoded\fP | \fI\%escape_semicolon\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
353 |
\fBescape_identity \fP ::= \(aq\e\(aq <match \(aq[^A\-Za\-z0\-9;]\(aq> |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
354 |
\fBescape_encoded \fP ::= \(aq\et\(aq | \(aq\er\(aq | \(aq\en\(aq |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
355 |
\fBescape_semicolon\fP ::= \(aq\e;\(aq |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
356 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
357 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
358 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
359 |
A \fB\e\fP followed by a non\-alphanumeric character simply encodes the literal |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
360 |
character without interpreting it as syntax. A \fB\et\fP, \fB\er\fP, or \fB\en\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
361 |
encodes a tab, carriage return, or newline character, respectively. A \fB\e;\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
362 |
outside of any \fI\%Variable References\fP encodes itself but may be used in an |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
363 |
\fI\%Unquoted Argument\fP to encode the \fB;\fP without dividing the argument |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
364 |
value on it. A \fB\e;\fP inside \fI\%Variable References\fP encodes the literal |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
365 |
\fB;\fP character. (See also policy \fBCMP0053\fP documentation for |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
366 |
historical considerations.) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
367 |
.SS Variable References |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
368 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
369 |
A \fIvariable reference\fP has the form \fB${variable_name}\fP and is |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
370 |
evaluated inside a \fI\%Quoted Argument\fP or an \fI\%Unquoted Argument\fP\&. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
371 |
A variable reference is replaced by the value of the variable, |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
372 |
or by the empty string if the variable is not set. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
373 |
Variable references can nest and are evaluated from the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
374 |
inside out, e.g. \fB${outer_${inner_variable}_variable}\fP\&. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
375 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
376 |
Literal variable references may consist of alphanumeric characters, |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
377 |
the characters \fB/_.+\-\fP, and \fI\%Escape Sequences\fP\&. Nested references |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
378 |
may be used to evaluate variables of any name. (See also policy |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
379 |
\fBCMP0053\fP documentation for historical considerations.) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
380 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
381 |
The \fI\%Variables\fP section documents the scope of variable names |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
382 |
and how their values are set. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
383 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
384 |
An \fIenvironment variable reference\fP has the form \fB$ENV{VAR}\fP and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
385 |
is evaluated in the same contexts as a normal variable reference. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
386 |
.SS Comments |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
387 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
388 |
A comment starts with a \fB#\fP character that is not inside a |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
389 |
\fI\%Bracket Argument\fP, \fI\%Quoted Argument\fP, or escaped with \fB\e\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
390 |
as part of an \fI\%Unquoted Argument\fP\&. There are two types of |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
391 |
comments: a \fI\%Bracket Comment\fP and a \fI\%Line Comment\fP\&. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
392 |
.SS Bracket Comment |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
393 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
394 |
A \fB#\fP immediately followed by a \fI\%Bracket Argument\fP forms a |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
395 |
\fIbracket comment\fP consisting of the entire bracket enclosure: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
396 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
397 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
398 |
\fBbracket_comment\fP ::= \(aq#\(aq \fI\%bracket_argument\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
399 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
400 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
401 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
402 |
For example: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
403 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
404 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
405 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
406 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
407 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
408 |
#[[This is a bracket comment. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
409 |
It runs until the close bracket.]] |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
410 |
message("First Argument\en" #[[Bracket Comment]] "Second Argument") |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
411 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
412 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
413 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
414 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
415 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
416 |
\fBNOTE:\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
417 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
418 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
419 |
CMake versions prior to 3.0 do not support bracket comments. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
420 |
They interpret the opening \fB#\fP as the start of a \fI\%Line Comment\fP\&. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
421 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
422 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
423 |
.SS Line Comment |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
424 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
425 |
A \fB#\fP not immediately followed by a \fI\%Bracket Argument\fP forms a |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
426 |
\fIline comment\fP that runs until the end of the line: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
427 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
428 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
429 |
\fBline_comment\fP ::= \(aq#\(aq <any text not starting in a \fI\%bracket_argument\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
430 |
and not containing a \fI\%newline\fP> |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
431 |
|
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
432 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
433 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
434 |
For example: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
435 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
436 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
437 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
438 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
439 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
440 |
# This is a line comment. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
441 |
message("First Argument\en" # This is a line comment :) |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
442 |
"Second Argument") # This is a line comment. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
443 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
444 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
445 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
446 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
447 |
.SH CONTROL STRUCTURES |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
448 |
.SS Conditional Blocks |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
449 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
450 |
The \fBif()\fP/\fBelseif()\fP/\fBelse()\fP/\fBendif()\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
451 |
commands delimit code blocks to be executed conditionally. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
452 |
.SS Loops |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
453 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
454 |
The \fBforeach()\fP/\fBendforeach()\fP and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
455 |
\fBwhile()\fP/\fBendwhile()\fP commands delimit code |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
456 |
blocks to be executed in a loop. Inside such blocks the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
457 |
\fBbreak()\fP command may be used to terminate the loop |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
458 |
early whereas the \fBcontinue()\fP command may be used |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
459 |
to start with the next iteration immediately. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
460 |
.SS Command Definitions |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
461 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
462 |
The \fBmacro()\fP/\fBendmacro()\fP, and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
463 |
\fBfunction()\fP/\fBendfunction()\fP commands delimit |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
464 |
code blocks to be recorded for later invocation as commands. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
465 |
.SH VARIABLES |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
466 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
467 |
Variables are the basic unit of storage in the CMake Language. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
468 |
Their values are always of string type, though some commands may |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
469 |
interpret the strings as values of other types. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
470 |
The \fBset()\fP and \fBunset()\fP commands explicitly |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
471 |
set or unset a variable, but other commands have semantics |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
472 |
that modify variables as well. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
473 |
Variable names are case\-sensitive and may consist of almost |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
474 |
any text, but we recommend sticking to names consisting only |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
475 |
of alphanumeric characters plus \fB_\fP and \fB\-\fP\&. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
476 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
477 |
Variables have dynamic scope. Each variable "set" or "unset" |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
478 |
creates a binding in the current scope: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
479 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
480 |
.TP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
481 |
.B Function Scope |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
482 |
\fI\%Command Definitions\fP created by the \fBfunction()\fP command |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
483 |
create commands that, when invoked, process the recorded commands |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
484 |
in a new variable binding scope. A variable "set" or "unset" |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
485 |
binds in this scope and is visible for the current function and |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
486 |
any nested calls, but not after the function returns. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
487 |
.TP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
488 |
.B Directory Scope |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
489 |
Each of the \fI\%Directories\fP in a source tree has its own variable |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
490 |
bindings. Before processing the \fBCMakeLists.txt\fP file for a |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
491 |
directory, CMake copies all variable bindings currently defined |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
492 |
in the parent directory, if any, to initialize the new directory |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
493 |
scope. CMake \fI\%Scripts\fP, when processed with \fBcmake \-P\fP, bind |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
494 |
variables in one "directory" scope. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
495 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
496 |
A variable "set" or "unset" not inside a function call binds |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
497 |
to the current directory scope. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
498 |
.TP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
499 |
.B Persistent Cache |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
500 |
CMake stores a separate set of "cache" variables, or "cache entries", |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
501 |
whose values persist across multiple runs within a project build |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
502 |
tree. Cache entries have an isolated binding scope modified only |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
503 |
by explicit request, such as by the \fBCACHE\fP option of the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
504 |
\fBset()\fP and \fBunset()\fP commands. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
505 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
506 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
507 |
When evaluating \fI\%Variable References\fP, CMake first searches the |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
508 |
function call stack, if any, for a binding and then falls back |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
509 |
to the binding in the current directory scope, if any. If a |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
510 |
"set" binding is found, its value is used. If an "unset" binding |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
511 |
is found, or no binding is found, CMake then searches for a |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
512 |
cache entry. If a cache entry is found, its value is used. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
513 |
Otherwise, the variable reference evaluates to an empty string. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
514 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
515 |
The \fBcmake\-variables(7)\fP manual documents many variables |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
516 |
that are provided by CMake or have meaning to CMake when set |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
517 |
by project code. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
518 |
.SH LISTS |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
519 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
520 |
Although all values in CMake are stored as strings, a string |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
521 |
may be treated as a list in certain contexts, such as during |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
522 |
evaluation of an \fI\%Unquoted Argument\fP\&. In such contexts, a string |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
523 |
is divided into list elements by splitting on \fB;\fP characters not |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
524 |
following an unequal number of \fB[\fP and \fB]\fP characters and not |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
525 |
immediately preceded by a \fB\e\fP\&. The sequence \fB\e;\fP does not |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
526 |
divide a value but is replaced by \fB;\fP in the resulting element. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
527 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
528 |
A list of elements is represented as a string by concatenating |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
529 |
the elements separated by \fB;\fP\&. For example, the \fBset()\fP |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
530 |
command stores multiple values into the destination variable |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
531 |
as a list: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
532 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
533 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
534 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
535 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
536 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
537 |
set(srcs a.c b.c c.c) # sets "srcs" to "a.c;b.c;c.c" |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
538 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
539 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
540 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
541 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
542 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
543 |
Lists are meant for simple use cases such as a list of source |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
544 |
files and should not be used for complex data processing tasks. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
545 |
Most commands that construct lists do not escape \fB;\fP characters |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
546 |
in list elements, thus flattening nested lists: |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
547 |
.INDENT 0.0 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
548 |
.INDENT 3.5 |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
549 |
.sp |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
550 |
.nf |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
551 |
.ft C |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
552 |
set(x a "b;c") # sets "x" to "a;b;c", not "a;b\e;c" |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
553 |
.ft P |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
554 |
.fi |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
555 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
556 |
.UNINDENT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
557 |
.SH COPYRIGHT |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
558 |
2000-2015 Kitware, Inc. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
559 |
.\" Generated by docutils manpage writer. |
198d4a3e4b73
21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff
changeset
|
560 |
. |