components/cmake/files/man7/cmake-commands.7
author April Chin <april.chin@oracle.com>
Wed, 11 Nov 2015 12:06:59 -0800
changeset 5081 198d4a3e4b73
permissions -rw-r--r--
21834219 update cmake to 3.3.2 22121918 enable system-test target for cmake
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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-COMMANDS" "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-commands \- CMake Language Command 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 NORMAL COMMANDS
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
These commands may be used freely in CMake projects.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    36
.SS add_compile_options
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
Adds options to the compilation of source files.
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
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    41
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    42
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    43
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    44
add_compile_options(<option> ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    45
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    46
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    47
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    48
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    49
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    50
Adds options to the compiler command line for targets in the current
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    51
directory and below that are added after this command is invoked.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    52
See documentation of the \fBdirectory\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    53
\fBtarget\fP \fBCOMPILE_OPTIONS\fP properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    54
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    55
This command can be used to add any options, but alternative commands
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    56
exist to add preprocessor definitions (\fBtarget_compile_definitions()\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    57
and \fBadd_definitions()\fP) or include directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    58
(\fBtarget_include_directories()\fP and \fBinclude_directories()\fP).
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
Arguments to \fBadd_compile_options\fP may use "generator expressions" with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    61
the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    62
manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    63
manual for more on defining buildsystem properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    64
.SS add_custom_command
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
Add a custom build rule to the generated build system.
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
There are two main signatures for \fBadd_custom_command\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    69
.SS Generating Files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    70
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    71
The first signature is for adding a custom command to produce an output:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    72
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    73
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    74
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    75
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    76
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    77
add_custom_command(OUTPUT output1 [output2 ...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    78
                   COMMAND command1 [ARGS] [args1...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    79
                   [COMMAND command2 [ARGS] [args2...] ...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    80
                   [MAIN_DEPENDENCY depend]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    81
                   [DEPENDS [depends...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    82
                   [BYPRODUCTS [files...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    83
                   [IMPLICIT_DEPENDS <lang1> depend1
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    84
                                    [<lang2> depend2] ...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    85
                   [WORKING_DIRECTORY dir]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    86
                   [COMMENT comment]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    87
                   [VERBATIM] [APPEND] [USES_TERMINAL])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    88
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    89
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    90
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    91
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    92
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    93
This defines a command to generate specified \fBOUTPUT\fP file(s).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    94
A target created in the same directory (\fBCMakeLists.txt\fP file)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    95
that specifies any output of the custom command as a source file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    96
is given a rule to generate the file using the command at build time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    97
Do not list the output in more than one independent target that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    98
may build in parallel or the two instances of the rule may conflict
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
    99
(instead use the \fBadd_custom_target()\fP command to drive the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   100
command and make the other targets depend on that one).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   101
In makefile terms this creates a new target in the following form:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   102
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   103
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   104
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   105
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   106
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   107
OUTPUT: MAIN_DEPENDENCY DEPENDS
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   108
        COMMAND
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   109
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   110
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   111
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   112
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   113
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   114
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   115
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   116
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   117
.B \fBAPPEND\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   118
Append the \fBCOMMAND\fP and \fBDEPENDS\fP option values to the custom
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   119
command for the first output specified.  There must have already
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   120
been a previous call to this command with the same output.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   121
The \fBCOMMENT\fP, \fBMAIN_DEPENDENCY\fP, and \fBWORKING_DIRECTORY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   122
options are currently ignored when APPEND is given, but may be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   123
used in the future.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   124
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   125
.B \fBBYPRODUCTS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   126
Specify the files the command is expected to produce but whose
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   127
modification time may or may not be newer than the dependencies.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   128
If a byproduct name is a relative path it will be interpreted
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   129
relative to the build tree directory corresponding to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   130
current source directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   131
Each byproduct file will be marked with the \fBGENERATED\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   132
source file property automatically.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   133
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   134
Explicit specification of byproducts is supported by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   135
\fBNinja\fP generator to tell the \fBninja\fP build tool
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   136
how to regenerate byproducts when they are missing.  It is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   137
also useful when other build rules (e.g. custom commands)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   138
depend on the byproducts.  Ninja requires a build rule for any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   139
generated file on which another rule depends even if there are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   140
order\-only dependencies to ensure the byproducts will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   141
available before their dependents build.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   142
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   143
The \fBBYPRODUCTS\fP option is ignored on non\-Ninja generators
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   144
except to mark byproducts \fBGENERATED\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   145
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   146
.B \fBCOMMAND\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   147
Specify the command\-line(s) to execute at build time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   148
If more than one \fBCOMMAND\fP is specified they will be executed in order,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   149
but \fInot\fP necessarily composed into a stateful shell or batch script.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   150
(To run a full script, use the \fBconfigure_file()\fP command or the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   151
\fBfile(GENERATE)\fP command to create it, and then specify
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   152
a \fBCOMMAND\fP to launch it.)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   153
The optional \fBARGS\fP argument is for backward compatibility and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   154
will be ignored.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   155
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   156
If \fBCOMMAND\fP specifies an executable target (created by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   157
\fBadd_executable()\fP command) it will automatically be replaced
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   158
by the location of the executable created at build time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   159
(Use the \fBTARGET_FILE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   160
\fBgenerator expression\fP to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   161
reference an executable later in the command line.)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   162
Additionally a target\-level dependency will be added so that the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   163
executable target will be built before any target using this custom
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   164
command.  However this does NOT add a file\-level dependency that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   165
would cause the custom command to re\-run whenever the executable is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   166
recompiled.
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
Arguments to \fBCOMMAND\fP may use
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   169
\fBgenerator expressions\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   170
References to target names in generator expressions imply target\-level
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   171
dependencies, but NOT file\-level dependencies.  List target names with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   172
the \fBDEPENDS\fP option to add file\-level dependencies.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   173
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   174
.B \fBCOMMENT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   175
Display the given message before the commands are executed at
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   176
build time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   177
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   178
.B \fBDEPENDS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   179
Specify files on which the command depends.  If any dependency is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   180
an \fBOUTPUT\fP of another custom command in the same directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   181
(\fBCMakeLists.txt\fP file) CMake automatically brings the other
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   182
custom command into the target in which this command is built.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   183
If \fBDEPENDS\fP is not specified the command will run whenever
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   184
the \fBOUTPUT\fP is missing; if the command does not actually
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   185
create the \fBOUTPUT\fP then the rule will always run.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   186
If \fBDEPENDS\fP specifies any target (created by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   187
\fBadd_custom_target()\fP, \fBadd_executable()\fP, or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   188
\fBadd_library()\fP command) a target\-level dependency is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   189
created to make sure the target is built before any target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   190
using this custom command.  Additionally, if the target is an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   191
executable or library a file\-level dependency is created to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   192
cause the custom command to re\-run whenever the target is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   193
recompiled.
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
Arguments to \fBDEPENDS\fP may use
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   196
\fBgenerator expressions\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   197
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   198
.B \fBIMPLICIT_DEPENDS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   199
Request scanning of implicit dependencies of an input file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   200
The language given specifies the programming language whose
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   201
corresponding dependency scanner should be used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   202
Currently only \fBC\fP and \fBCXX\fP language scanners are supported.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   203
The language has to be specified for every file in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   204
\fBIMPLICIT_DEPENDS\fP list.  Dependencies discovered from the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   205
scanning are added to those of the custom command at build time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   206
Note that the \fBIMPLICIT_DEPENDS\fP option is currently supported
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   207
only for Makefile generators and will be ignored by other generators.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   208
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   209
.B \fBMAIN_DEPENDENCY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   210
Specify the primary input source file to the command.  This is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   211
treated just like any value given to the \fBDEPENDS\fP option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   212
but also suggests to Visual Studio generators where to hang
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   213
the custom command.  At most one custom command may specify a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   214
given source file as its main dependency.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   215
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   216
.B \fBOUTPUT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   217
Specify the output files the command is expected to produce.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   218
If an output name is a relative path it will be interpreted
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   219
relative to the build tree directory corresponding to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   220
current source directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   221
Each output file will be marked with the \fBGENERATED\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   222
source file property automatically.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   223
If the output of the custom command is not actually created
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   224
as a file on disk it should be marked with the \fBSYMBOLIC\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   225
source file property.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   226
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   227
.B \fBUSES_TERMINAL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   228
The command will be given direct access to the terminal if possible.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   229
With the \fBNinja\fP generator, this places the command in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   230
the \fBconsole\fP \fBpool\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   231
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   232
.B \fBVERBATIM\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   233
All arguments to the commands will be escaped properly for the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   234
build tool so that the invoked command receives each argument
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   235
unchanged.  Note that one level of escapes is still used by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   236
CMake language processor before add_custom_command even sees the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   237
arguments.  Use of \fBVERBATIM\fP is recommended as it enables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   238
correct behavior.  When \fBVERBATIM\fP is not given the behavior
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   239
is platform specific because there is no protection of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   240
tool\-specific special characters.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   241
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   242
.B \fBWORKING_DIRECTORY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   243
Execute the command with the given current working directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   244
If it is a relative path it will be interpreted relative to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   245
build tree directory corresponding to the current source directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   246
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   247
.SS Build Events
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
The second signature adds a custom command to a target such as a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   250
library or executable.  This is useful for performing an operation
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   251
before or after building the target.  The command becomes part of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   252
target and will only execute when the target itself is built.  If the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   253
target is already built, the command will not execute.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   254
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   255
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   256
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   257
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   258
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   259
add_custom_command(TARGET target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   260
                   PRE_BUILD | PRE_LINK | POST_BUILD
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   261
                   COMMAND command1 [ARGS] [args1...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   262
                   [COMMAND command2 [ARGS] [args2...] ...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   263
                   [BYPRODUCTS [files...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   264
                   [WORKING_DIRECTORY dir]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   265
                   [COMMENT comment]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   266
                   [VERBATIM] [USES_TERMINAL])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   267
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   268
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   269
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   270
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   271
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   272
This defines a new command that will be associated with building the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   273
specified target.  When the command will happen is determined by which
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   274
of the following is specified:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   275
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   276
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   277
.B \fBPRE_BUILD\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   278
Run before any other rules are executed within the target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   279
This is supported only on Visual Studio 7 or later.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   280
For all other generators \fBPRE_BUILD\fP will be treated as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   281
\fBPRE_LINK\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   282
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   283
.B \fBPRE_LINK\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   284
Run after sources have been compiled but before linking the binary
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   285
or running the librarian or archiver tool of a static library.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   286
This is not defined for targets created by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   287
\fBadd_custom_target()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   288
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   289
.B \fBPOST_BUILD\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   290
Run after all other rules within the target have been executed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   291
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   292
.SS add_custom_target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   293
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   294
Add a target with no output so it will always be built.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   295
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   296
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   297
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   298
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   299
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   300
add_custom_target(Name [ALL] [command1 [args1...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   301
                  [COMMAND command2 [args2...] ...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   302
                  [DEPENDS depend depend depend ... ]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   303
                  [BYPRODUCTS [files...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   304
                  [WORKING_DIRECTORY dir]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   305
                  [COMMENT comment]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   306
                  [VERBATIM] [USES_TERMINAL]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   307
                  [SOURCES src1 [src2...]])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   308
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   309
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   310
.UNINDENT
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
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   313
Adds a target with the given name that executes the given commands.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   314
The target has no output file and is \fIalways considered out of date\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   315
even if the commands try to create a file with the name of the target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   316
Use the \fBadd_custom_command()\fP command to generate a file with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   317
dependencies.  By default nothing depends on the custom target.  Use
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   318
the \fBadd_dependencies()\fP command to add dependencies to or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   319
from other targets.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   320
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   321
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   322
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   323
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   324
.B \fBALL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   325
Indicate that this target should be added to the default build
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   326
target so that it will be run every time (the command cannot be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   327
called \fBALL\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   328
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   329
.B \fBBYPRODUCTS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   330
Specify the files the command is expected to produce but whose
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   331
modification time may or may not be updated on subsequent builds.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   332
If a byproduct name is a relative path it will be interpreted
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   333
relative to the build tree directory corresponding to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   334
current source directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   335
Each byproduct file will be marked with the \fBGENERATED\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   336
source file property automatically.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   337
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   338
Explicit specification of byproducts is supported by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   339
\fBNinja\fP generator to tell the \fBninja\fP build tool
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   340
how to regenerate byproducts when they are missing.  It is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   341
also useful when other build rules (e.g. custom commands)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   342
depend on the byproducts.  Ninja requires a build rule for any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   343
generated file on which another rule depends even if there are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   344
order\-only dependencies to ensure the byproducts will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   345
available before their dependents build.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   346
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   347
The \fBBYPRODUCTS\fP option is ignored on non\-Ninja generators
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   348
except to mark byproducts \fBGENERATED\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   349
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   350
.B \fBCOMMAND\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   351
Specify the command\-line(s) to execute at build time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   352
If more than one \fBCOMMAND\fP is specified they will be executed in order,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   353
but \fInot\fP necessarily composed into a stateful shell or batch script.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   354
(To run a full script, use the \fBconfigure_file()\fP command or the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   355
\fBfile(GENERATE)\fP command to create it, and then specify
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   356
a \fBCOMMAND\fP to launch it.)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   357
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   358
If \fBCOMMAND\fP specifies an executable target (created by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   359
\fBadd_executable()\fP command) it will automatically be replaced
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   360
by the location of the executable created at build time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   361
Additionally a target\-level dependency will be added so that the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   362
executable target will be built before this custom target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   363
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   364
Arguments to \fBCOMMAND\fP may use
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   365
\fBgenerator expressions\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   366
References to target names in generator expressions imply target\-level
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   367
dependencies.
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
The command and arguments are optional and if not specified an empty
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   370
target will be created.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   371
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   372
.B \fBCOMMENT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   373
Display the given message before the commands are executed at
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   374
build time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   375
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   376
.B \fBDEPENDS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   377
Reference files and outputs of custom commands created with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   378
\fBadd_custom_command()\fP command calls in the same directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   379
(\fBCMakeLists.txt\fP file).  They will be brought up to date when
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   380
the target is built.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   381
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   382
Use the \fBadd_dependencies()\fP command to add dependencies
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   383
on other targets.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   384
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   385
.B \fBSOURCES\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   386
Specify additional source files to be included in the custom target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   387
Specified source files will be added to IDE project files for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   388
convenience in editing even if they have no build rules.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   389
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   390
.B \fBVERBATIM\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   391
All arguments to the commands will be escaped properly for the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   392
build tool so that the invoked command receives each argument
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   393
unchanged.  Note that one level of escapes is still used by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   394
CMake language processor before \fBadd_custom_target\fP even sees
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   395
the arguments.  Use of \fBVERBATIM\fP is recommended as it enables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   396
correct behavior.  When \fBVERBATIM\fP is not given the behavior
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   397
is platform specific because there is no protection of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   398
tool\-specific special characters.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   399
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   400
.B \fBUSES_TERMINAL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   401
The command will be given direct access to the terminal if possible.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   402
With the \fBNinja\fP generator, this places the command in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   403
the \fBconsole\fP \fBpool\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   404
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   405
.B \fBWORKING_DIRECTORY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   406
Execute the command with the given current working directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   407
If it is a relative path it will be interpreted relative to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   408
build tree directory corresponding to the current source directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   409
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   410
.SS add_definitions
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   411
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   412
Adds \-D define flags to the compilation of source files.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   413
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   414
.INDENT 3.5
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
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   417
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   418
add_definitions(\-DFOO \-DBAR ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   419
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   420
.fi
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
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   424
Adds definitions to the compiler command line for targets in the current
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   425
directory and below (whether added before or after this command is invoked).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   426
This command can be used to add any flags, but it is intended to add
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   427
preprocessor definitions (see the \fBadd_compile_options()\fP command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   428
to add other flags).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   429
Flags beginning in \-D or /D that look like preprocessor definitions are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   430
automatically added to the \fBCOMPILE_DEFINITIONS\fP directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   431
property for the current directory.  Definitions with non\-trivial values
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   432
may be left in the set of flags instead of being converted for reasons of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   433
backwards compatibility.  See documentation of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   434
\fBdirectory\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   435
\fBtarget\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   436
\fBsource file\fP \fBCOMPILE_DEFINITIONS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   437
properties for details on adding preprocessor definitions to specific
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   438
scopes and configurations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   439
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   440
See the \fBcmake\-buildsystem(7)\fP manual for more on defining
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   441
buildsystem properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   442
.SS add_dependencies
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   443
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   444
Add a dependency between top\-level targets.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   445
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   446
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   447
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   448
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   449
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   450
add_dependencies(<target> [<target\-dependency>]...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   451
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   452
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   453
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   454
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   455
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   456
Make a top\-level \fB<target>\fP depend on other top\-level targets to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   457
ensure that they build before \fB<target>\fP does.  A top\-level target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   458
is one created by one of the \fBadd_executable()\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   459
\fBadd_library()\fP, or \fBadd_custom_target()\fP commands
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   460
(but not targets generated by CMake like \fBinstall\fP).
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
Dependencies added to an imported target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   463
or an interface library are followed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   464
transitively in its place since the target itself does not build.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   465
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   466
See the \fBDEPENDS\fP option of \fBadd_custom_target()\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   467
\fBadd_custom_command()\fP commands for adding file\-level
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   468
dependencies in custom rules.  See the \fBOBJECT_DEPENDS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   469
source file property to add file\-level dependencies to object files.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   470
.SS add_executable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   471
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   472
Add an executable to the project using the specified source files.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   473
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   474
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   475
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   476
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   477
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   478
add_executable(<name> [WIN32] [MACOSX_BUNDLE]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   479
               [EXCLUDE_FROM_ALL]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   480
               source1 [source2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   481
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   482
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   483
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   484
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   485
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   486
Adds an executable target called \fB<name>\fP to be built from the source
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   487
files listed in the command invocation.  The \fB<name>\fP corresponds to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   488
logical target name and must be globally unique within a project.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   489
actual file name of the executable built is constructed based on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   490
conventions of the native platform (such as \fB<name>.exe\fP or just
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   491
\fB<name>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   492
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   493
By default the executable file will be created in the build tree
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   494
directory corresponding to the source tree directory in which the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   495
command was invoked.  See documentation of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   496
\fBRUNTIME_OUTPUT_DIRECTORY\fP target property to change this
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   497
location.  See documentation of the \fBOUTPUT_NAME\fP target property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   498
to change the \fB<name>\fP part of the final file name.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   499
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   500
If \fBWIN32\fP is given the property \fBWIN32_EXECUTABLE\fP will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   501
set on the target created.  See documentation of that target property for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   502
details.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   503
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   504
If \fBMACOSX_BUNDLE\fP is given the corresponding property will be set on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   505
the created target.  See documentation of the \fBMACOSX_BUNDLE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   506
target property for details.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   507
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   508
If \fBEXCLUDE_FROM_ALL\fP is given the corresponding property will be set on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   509
the created target.  See documentation of the \fBEXCLUDE_FROM_ALL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   510
target property for details.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   511
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   512
Source arguments to \fBadd_executable\fP may use "generator expressions" with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   513
the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   514
manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   515
manual for more on defining buildsystem properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   516
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   517
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   518
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   519
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   520
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   521
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   522
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   523
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   524
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   525
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   526
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   527
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   528
add_executable(<name> IMPORTED [GLOBAL])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   529
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   530
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   531
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   532
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   533
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   534
An IMPORTED executable target references an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   535
executable file located outside the project.  No rules are generated to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   536
build it, and the \fBIMPORTED\fP target property is \fBTrue\fP\&.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   537
target name has scope in the directory in which it is created and below, but
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   538
the \fBGLOBAL\fP option extends visibility.  It may be referenced like any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   539
target built within the project.  \fBIMPORTED\fP executables are useful
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   540
for convenient reference from commands like \fBadd_custom_command()\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   541
Details about the imported executable are specified by setting properties
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   542
whose names begin in \fBIMPORTED_\fP\&.  The most important such property is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   543
\fBIMPORTED_LOCATION\fP (and its per\-configuration version
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   544
\fBIMPORTED_LOCATION_<CONFIG>\fP) which specifies the location of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   545
the main executable file on disk.  See documentation of the \fBIMPORTED_*\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   546
properties for more information.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   547
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   548
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   549
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   550
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   551
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   552
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   553
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   554
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   555
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   556
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   557
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   558
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   559
add_executable(<name> ALIAS <target>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   560
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   561
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   562
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   563
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   564
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   565
Creates an Alias Target, such that \fB<name>\fP can
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   566
be used to refer to \fB<target>\fP in subsequent commands.  The \fB<name>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   567
does not appear in the generated buildsystem as a make target.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   568
\fB<target>\fP may not be an Imported Target or an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   569
\fBALIAS\fP\&.  \fBALIAS\fP targets can be used as targets to read properties
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   570
from, executables for custom commands and custom targets.  They can also be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   571
tested for existance with the regular \fBif(TARGET)\fP subcommand.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   572
The \fB<name>\fP may not be used to modify properties of \fB<target>\fP, that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   573
is, it may not be used as the operand of \fBset_property()\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   574
\fBset_target_properties()\fP, \fBtarget_link_libraries()\fP etc.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   575
An \fBALIAS\fP target may not be installed or exported.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   576
.SS add_library
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   577
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   578
Add a library to the project using the specified source files.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   579
.SS Normal Libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   580
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   581
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   582
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   583
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   584
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   585
add_library(<name> [STATIC | SHARED | MODULE]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   586
            [EXCLUDE_FROM_ALL]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   587
            source1 [source2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   588
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   589
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   590
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   591
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   592
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   593
Adds a library target called \fB<name>\fP to be built from the source files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   594
listed in the command invocation.  The \fB<name>\fP corresponds to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   595
logical target name and must be globally unique within a project.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   596
actual file name of the library built is constructed based on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   597
conventions of the native platform (such as \fBlib<name>.a\fP or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   598
\fB<name>.lib\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   599
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   600
\fBSTATIC\fP, \fBSHARED\fP, or \fBMODULE\fP may be given to specify the type of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   601
library to be created.  \fBSTATIC\fP libraries are archives of object files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   602
for use when linking other targets.  \fBSHARED\fP libraries are linked
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   603
dynamically and loaded at runtime.  \fBMODULE\fP libraries are plugins that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   604
are not linked into other targets but may be loaded dynamically at runtime
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   605
using dlopen\-like functionality.  If no type is given explicitly the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   606
type is \fBSTATIC\fP or \fBSHARED\fP based on whether the current value of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   607
variable \fBBUILD_SHARED_LIBS\fP is \fBON\fP\&.  For \fBSHARED\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   608
\fBMODULE\fP libraries the \fBPOSITION_INDEPENDENT_CODE\fP target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   609
property is set to \fBON\fP automatically.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   610
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   611
By default the library file will be created in the build tree directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   612
corresponding to the source tree directory in which the command was
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   613
invoked.  See documentation of the \fBARCHIVE_OUTPUT_DIRECTORY\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   614
\fBLIBRARY_OUTPUT_DIRECTORY\fP, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   615
\fBRUNTIME_OUTPUT_DIRECTORY\fP target properties to change this
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   616
location.  See documentation of the \fBOUTPUT_NAME\fP target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   617
property to change the \fB<name>\fP part of the final file name.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   618
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   619
If \fBEXCLUDE_FROM_ALL\fP is given the corresponding property will be set on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   620
the created target.  See documentation of the \fBEXCLUDE_FROM_ALL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   621
target property for details.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   622
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   623
Source arguments to \fBadd_library\fP may use "generator expressions" with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   624
the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   625
manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   626
manual for more on defining buildsystem properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   627
.SS Imported Libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   628
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   629
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   630
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   631
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   632
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   633
add_library(<name> <SHARED|STATIC|MODULE|UNKNOWN> IMPORTED
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   634
            [GLOBAL])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   635
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   636
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   637
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   638
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   639
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   640
An IMPORTED library target references a library
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   641
file located outside the project.  No rules are generated to build it, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   642
the \fBIMPORTED\fP target property is \fBTrue\fP\&.  The target name has
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   643
scope in the directory in which it is created and below, but the \fBGLOBAL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   644
option extends visibility.  It may be referenced like any target built
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   645
within the project.  \fBIMPORTED\fP libraries are useful for convenient
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   646
reference from commands like \fBtarget_link_libraries()\fP\&.  Details
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   647
about the imported library are specified by setting properties whose names
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   648
begin in \fBIMPORTED_\fP and \fBINTERFACE_\fP\&.  The most important such
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   649
property is \fBIMPORTED_LOCATION\fP (and its per\-configuration
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   650
variant \fBIMPORTED_LOCATION_<CONFIG>\fP) which specifies the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   651
location of the main library file on disk.  See documentation of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   652
\fBIMPORTED_*\fP and \fBINTERFACE_*\fP properties for more information.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   653
.SS Object Libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   654
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   655
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   656
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   657
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   658
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   659
add_library(<name> OBJECT <src>...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   660
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   661
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   662
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   663
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   664
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   665
Creates an Object Library\&.  An object library
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   666
compiles source files but does not archive or link their object files into a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   667
library.  Instead other targets created by \fI\%add_library()\fP or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   668
\fBadd_executable()\fP may reference the objects using an expression of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   669
form \fB$<TARGET_OBJECTS:objlib>\fP as a source, where \fBobjlib\fP is the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   670
object library name.  For example:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   671
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   672
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   673
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   674
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   675
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   676
add_library(... $<TARGET_OBJECTS:objlib> ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   677
add_executable(... $<TARGET_OBJECTS:objlib> ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   678
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   679
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   680
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   681
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   682
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   683
will include objlib\(aqs object files in a library and an executable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   684
along with those compiled from their own sources.  Object libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   685
may contain only sources that compile, header files, and other files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   686
that would not affect linking of a normal library (e.g. \fB\&.txt\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   687
They may contain custom commands generating such sources, but not
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   688
\fBPRE_BUILD\fP, \fBPRE_LINK\fP, or \fBPOST_BUILD\fP commands.  Object libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   689
cannot be imported, exported, installed, or linked.  Some native build
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   690
systems may not like targets that have only object files, so consider
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   691
adding at least one real source file to any target that references
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   692
\fB$<TARGET_OBJECTS:objlib>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   693
.SS Alias Libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   694
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   695
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   696
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   697
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   698
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   699
add_library(<name> ALIAS <target>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   700
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   701
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   702
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   703
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   704
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   705
Creates an Alias Target, such that \fB<name>\fP can be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   706
used to refer to \fB<target>\fP in subsequent commands.  The \fB<name>\fP does
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   707
not appear in the generatedbuildsystem as a make target.  The \fB<target>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   708
may not be an Imported Target or an \fBALIAS\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   709
\fBALIAS\fP targets can be used as linkable targets and as targets to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   710
read properties from.  They can also be tested for existance with the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   711
regular \fBif(TARGET)\fP subcommand.  The \fB<name>\fP may not be used
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   712
to modify properties of \fB<target>\fP, that is, it may not be used as the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   713
operand of \fBset_property()\fP, \fBset_target_properties()\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   714
\fBtarget_link_libraries()\fP etc.  An \fBALIAS\fP target may not be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   715
installed or exported.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   716
.SS Interface Libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   717
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   718
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   719
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   720
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   721
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   722
add_library(<name> INTERFACE [IMPORTED [GLOBAL]])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   723
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   724
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   725
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   726
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   727
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   728
Creates an Interface Library\&.  An \fBINTERFACE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   729
library target does not directly create build output, though it may
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   730
have properties set on it and it may be installed, exported and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   731
imported. Typically the \fBINTERFACE_*\fP properties are populated on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   732
the interface target using the commands:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   733
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   734
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   735
\fBset_property()\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   736
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   737
\fBtarget_link_libraries(INTERFACE)\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   738
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   739
\fBtarget_include_directories(INTERFACE)\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   740
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   741
\fBtarget_compile_options(INTERFACE)\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   742
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   743
\fBtarget_compile_definitions(INTERFACE)\fP, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   744
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   745
\fBtarget_sources(INTERFACE)\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   746
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   747
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   748
and then it is used as an argument to \fBtarget_link_libraries()\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   749
like any other target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   750
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   751
An \fBINTERFACE\fP Imported Target may also be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   752
created with this signature.  An \fBIMPORTED\fP library target references a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   753
library defined outside the project.  The target name has scope in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   754
directory in which it is created and below, but the \fBGLOBAL\fP option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   755
extends visibility.  It may be referenced like any target built within
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   756
the project.  \fBIMPORTED\fP libraries are useful for convenient reference
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   757
from commands like \fBtarget_link_libraries()\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   758
.SS add_subdirectory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   759
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   760
Add a subdirectory to the build.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   761
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   762
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   763
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   764
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   765
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   766
add_subdirectory(source_dir [binary_dir]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   767
                 [EXCLUDE_FROM_ALL])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   768
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   769
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   770
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   771
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   772
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   773
Add a subdirectory to the build.  The source_dir specifies the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   774
directory in which the source CMakeLists.txt and code files are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   775
located.  If it is a relative path it will be evaluated with respect
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   776
to the current directory (the typical usage), but it may also be an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   777
absolute path.  The binary_dir specifies the directory in which to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   778
place the output files.  If it is a relative path it will be evaluated
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   779
with respect to the current output directory, but it may also be an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   780
absolute path.  If binary_dir is not specified, the value of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   781
source_dir, before expanding any relative path, will be used (the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   782
typical usage).  The CMakeLists.txt file in the specified source
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   783
directory will be processed immediately by CMake before processing in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   784
the current input file continues beyond this command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   785
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   786
If the EXCLUDE_FROM_ALL argument is provided then targets in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   787
subdirectory will not be included in the ALL target of the parent
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   788
directory by default, and will be excluded from IDE project files.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   789
Users must explicitly build targets in the subdirectory.  This is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   790
meant for use when the subdirectory contains a separate part of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   791
project that is useful but not necessary, such as a set of examples.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   792
Typically the subdirectory should contain its own project() command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   793
invocation so that a full build system will be generated in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   794
subdirectory (such as a VS IDE solution file).  Note that inter\-target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   795
dependencies supercede this exclusion.  If a target built by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   796
parent project depends on a target in the subdirectory, the dependee
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   797
target will be included in the parent project build system to satisfy
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   798
the dependency.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   799
.SS add_test
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   800
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   801
Add a test to the project to be run by \fBctest(1)\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   802
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   803
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   804
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   805
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   806
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   807
add_test(NAME <name> COMMAND <command> [<arg>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   808
         [CONFIGURATIONS <config>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   809
         [WORKING_DIRECTORY <dir>])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   810
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   811
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   812
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   813
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   814
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   815
Add a test called \fB<name>\fP\&.  The test name may not contain spaces,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   816
quotes, or other characters special in CMake syntax.  The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   817
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   818
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   819
.B \fBCOMMAND\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   820
Specify the test command\-line.  If \fB<command>\fP specifies an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   821
executable target (created by \fBadd_executable()\fP) it will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   822
automatically be replaced by the location of the executable created
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   823
at build time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   824
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   825
.B \fBCONFIGURATIONS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   826
Restrict execution of the test only to the named configurations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   827
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   828
.B \fBWORKING_DIRECTORY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   829
Set the \fBWORKING_DIRECTORY\fP test property to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   830
specify the working directory in which to execute the test.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   831
If not specified the test will be run with the current working
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   832
directory set to the build directory corresponding to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   833
current source directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   834
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   835
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   836
The \fBCOMMAND\fP and \fBWORKING_DIRECTORY\fP options may use "generator
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   837
expressions" with the syntax \fB$<...>\fP\&.  See the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   838
\fBcmake\-generator\-expressions(7)\fP manual for available expressions.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   839
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   840
Example usage:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   841
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   842
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   843
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   844
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   845
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   846
add_test(NAME mytest
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   847
         COMMAND testDriver \-\-config $<CONFIGURATION>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   848
                            \-\-exe $<TARGET_FILE:myexe>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   849
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   850
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   851
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   852
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   853
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   854
This creates a test \fBmytest\fP whose command runs a \fBtestDriver\fP tool
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   855
passing the configuration name and the full path to the executable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   856
file produced by target \fBmyexe\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   857
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   858
\fBNOTE:\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   859
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   860
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   861
CMake will generate tests only if the \fBenable_testing()\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   862
command has been invoked.  The \fBCTest\fP module invokes the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   863
command automatically when the \fBBUILD_TESTING\fP option is \fBON\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   864
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   865
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   866
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   867
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   868
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   869
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   870
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   871
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   872
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   873
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   874
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   875
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   876
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   877
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   878
add_test(<name> <command> [<arg>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   879
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   880
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   881
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   882
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   883
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   884
Add a test called \fB<name>\fP with the given command\-line.  Unlike
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   885
the above \fBNAME\fP signature no transformation is performed on the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   886
command\-line to support target names or generator expressions.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   887
.SS aux_source_directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   888
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   889
Find all source files in a directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   890
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   891
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   892
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   893
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   894
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   895
aux_source_directory(<dir> <variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   896
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   897
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   898
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   899
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   900
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   901
Collects the names of all the source files in the specified directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   902
and stores the list in the <variable> provided.  This command is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   903
intended to be used by projects that use explicit template
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   904
instantiation.  Template instantiation files can be stored in a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   905
"Templates" subdirectory and collected automatically using this
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   906
command to avoid manually listing all instantiations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   907
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   908
It is tempting to use this command to avoid writing the list of source
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   909
files for a library or executable target.  While this seems to work,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   910
there is no way for CMake to generate a build system that knows when a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   911
new source file has been added.  Normally the generated build system
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   912
knows when it needs to rerun CMake because the CMakeLists.txt file is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   913
modified to add a new source.  When the source is just added to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   914
directory without modifying this file, one would have to manually
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   915
rerun CMake to generate a build system incorporating the new file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   916
.SS break
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   917
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   918
Break from an enclosing foreach or while loop.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   919
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   920
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   921
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   922
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   923
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   924
break()
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   925
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   926
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   927
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   928
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   929
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   930
Breaks from an enclosing foreach loop or while loop
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   931
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   932
See also the \fBcontinue()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   933
.SS build_command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   934
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   935
Get a command line to build the current project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   936
This is mainly intended for internal use by the \fBCTest\fP module.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   937
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   938
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   939
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   940
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   941
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   942
build_command(<variable>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   943
              [CONFIGURATION <config>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   944
              [TARGET <target>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   945
              [PROJECT_NAME <projname>] # legacy, causes warning
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   946
             )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   947
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   948
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   949
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   950
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   951
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   952
Sets the given \fB<variable>\fP to a command\-line string of the form:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   953
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   954
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   955
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   956
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   957
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   958
<cmake> \-\-build . [\-\-config <config>] [\-\-target <target>] [\-\- \-i]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   959
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   960
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   961
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   962
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   963
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   964
where \fB<cmake>\fP is the location of the \fBcmake(1)\fP command\-line
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   965
tool, and \fB<config>\fP and \fB<target>\fP are the values provided to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   966
\fBCONFIGURATION\fP and \fBTARGET\fP options, if any.  The trailing \fB\-\- \-i\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   967
option is added for Makefile Generators if policy \fBCMP0061\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   968
is not set to \fBNEW\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   969
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   970
When invoked, this \fBcmake \-\-build\fP command line will launch the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   971
underlying build system tool.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   972
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   973
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   974
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   975
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   976
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   977
build_command(<cachevariable> <makecommand>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   978
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   979
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   980
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   981
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   982
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   983
This second signature is deprecated, but still available for backwards
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   984
compatibility.  Use the first signature instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   985
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   986
It sets the given \fB<cachevariable>\fP to a command\-line string as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   987
above but without the \fB\-\-target\fP option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   988
The \fB<makecommand>\fP is ignored but should be the full path to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   989
msdev, devenv, nmake, make or one of the end user build tools
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   990
for legacy invocations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   991
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   992
\fBNOTE:\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   993
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   994
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   995
In CMake versions prior to 3.0 this command returned a command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   996
line that directly invokes the native build tool for the current
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   997
generator.  Their implementation of the \fBPROJECT_NAME\fP option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   998
had no useful effects, so CMake now warns on use of the option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
   999
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1000
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1001
.SS cmake_host_system_information
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1002
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1003
Query host system specific information.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1004
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1005
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1006
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1007
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1008
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1009
cmake_host_system_information(RESULT <variable> QUERY <key> ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1010
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1011
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1012
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1013
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1014
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1015
Queries system information of the host system on which cmake runs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1016
One or more <key> can be provided to select the information to be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1017
queried.  The list of queried values is stored in <variable>.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1018
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1019
<key> can be one of the following values:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1020
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1021
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1022
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1023
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1024
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1025
NUMBER_OF_LOGICAL_CORES   = Number of logical cores.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1026
NUMBER_OF_PHYSICAL_CORES  = Number of physical cores.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1027
HOSTNAME                  = Hostname.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1028
FQDN                      = Fully qualified domain name.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1029
TOTAL_VIRTUAL_MEMORY      = Total virtual memory in megabytes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1030
AVAILABLE_VIRTUAL_MEMORY  = Available virtual memory in megabytes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1031
TOTAL_PHYSICAL_MEMORY     = Total physical memory in megabytes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1032
AVAILABLE_PHYSICAL_MEMORY = Available physical memory in megabytes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1033
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1034
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1035
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1036
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1037
.SS cmake_minimum_required
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1038
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1039
Set the minimum required version of cmake for a project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1040
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1041
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1042
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1043
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1044
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1045
cmake_minimum_required(VERSION major[.minor[.patch[.tweak]]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1046
                       [FATAL_ERROR])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1047
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1048
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1049
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1050
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1051
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1052
If the current version of CMake is lower than that required it will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1053
stop processing the project and report an error.  When a version
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1054
higher than 2.4 is specified the command implicitly invokes
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1055
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1056
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1057
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1058
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1059
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1060
cmake_policy(VERSION major[.minor[.patch[.tweak]]])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1061
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1062
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1063
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1064
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1065
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1066
which sets the cmake policy version level to the version specified.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1067
When version 2.4 or lower is given the command implicitly invokes
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1068
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1069
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1070
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1071
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1072
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1073
cmake_policy(VERSION 2.4)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1074
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1075
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1076
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1077
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1078
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1079
which enables compatibility features for CMake 2.4 and lower.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1080
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1081
The FATAL_ERROR option is accepted but ignored by CMake 2.6 and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1082
higher.  It should be specified so CMake versions 2.4 and lower fail
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1083
with an error instead of just a warning.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1084
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1085
\fBNOTE:\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1086
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1087
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1088
Call the \fBcmake_minimum_required()\fP command at the beginning of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1089
the top\-level \fBCMakeLists.txt\fP file even before calling the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1090
\fBproject()\fP command.  It is important to establish version
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1091
and policy settings before invoking other commands whose behavior
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1092
they may affect.  See also policy \fBCMP0000\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1093
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1094
Calling \fBcmake_minimum_required()\fP inside a \fBfunction()\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1095
limits some effects to the function scope when invoked.  Such calls
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1096
should not be made with the intention of having global effects.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1097
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1098
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1099
.SS cmake_policy
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1100
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1101
Manage CMake Policy settings.  See the \fBcmake\-policies(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1102
manual for defined policies.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1103
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1104
As CMake evolves it is sometimes necessary to change existing behavior
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1105
in order to fix bugs or improve implementations of existing features.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1106
The CMake Policy mechanism is designed to help keep existing projects
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1107
building as new versions of CMake introduce changes in behavior.  Each
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1108
new policy (behavioral change) is given an identifier of the form
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1109
\fBCMP<NNNN>\fP where \fB<NNNN>\fP is an integer index.  Documentation
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1110
associated with each policy describes the \fBOLD\fP and \fBNEW\fP behavior
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1111
and the reason the policy was introduced.  Projects may set each policy
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1112
to select the desired behavior.  When CMake needs to know which behavior
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1113
to use it checks for a setting specified by the project.  If no
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1114
setting is available the \fBOLD\fP behavior is assumed and a warning is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1115
produced requesting that the policy be set.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1116
.SS Setting Policies by CMake Version
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1117
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1118
The \fBcmake_policy\fP command is used to set policies to \fBOLD\fP or \fBNEW\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1119
behavior.  While setting policies individually is supported, we
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1120
encourage projects to set policies based on CMake versions:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1121
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1122
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1123
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1124
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1125
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1126
cmake_policy(VERSION major.minor[.patch[.tweak]])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1127
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1128
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1129
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1130
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1131
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1132
Specify that the current CMake code is written for the given
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1133
version of CMake.  All policies introduced in the specified version or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1134
earlier will be set to use \fBNEW\fP behavior.  All policies introduced
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1135
after the specified version will be unset (unless the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1136
\fBCMAKE_POLICY_DEFAULT_CMP<NNNN>\fP variable sets a default).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1137
This effectively requests behavior preferred as of a given CMake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1138
version and tells newer CMake versions to warn about their new policies.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1139
The policy version specified must be at least 2.4 or the command will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1140
report an error.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1141
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1142
Note that the \fBcmake_minimum_required(VERSION)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1143
command implicitly calls \fBcmake_policy(VERSION)\fP too.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1144
.SS Setting Policies Explicitly
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1145
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1146
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1147
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1148
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1149
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1150
cmake_policy(SET CMP<NNNN> NEW)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1151
cmake_policy(SET CMP<NNNN> OLD)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1152
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1153
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1154
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1155
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1156
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1157
Tell CMake to use the \fBOLD\fP or \fBNEW\fP behavior for a given policy.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1158
Projects depending on the old behavior of a given policy may silence a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1159
policy warning by setting the policy state to \fBOLD\fP\&.  Alternatively
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1160
one may fix the project to work with the new behavior and set the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1161
policy state to \fBNEW\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1162
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1163
\fBNOTE:\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1164
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1165
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1166
The \fBOLD\fP behavior of a policy is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1167
\fBdeprecated by definition\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1168
and may be removed in a future version of CMake.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1169
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1170
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1171
.SS Checking Policy Settings
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1172
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1173
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1174
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1175
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1176
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1177
cmake_policy(GET CMP<NNNN> <variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1178
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1179
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1180
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1181
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1182
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1183
Check whether a given policy is set to \fBOLD\fP or \fBNEW\fP behavior.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1184
The output \fB<variable>\fP value will be \fBOLD\fP or \fBNEW\fP if the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1185
policy is set, and empty otherwise.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1186
.SS CMake Policy Stack
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1187
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1188
CMake keeps policy settings on a stack, so changes made by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1189
cmake_policy command affect only the top of the stack.  A new entry on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1190
the policy stack is managed automatically for each subdirectory to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1191
protect its parents and siblings.  CMake also manages a new entry for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1192
scripts loaded by \fBinclude()\fP and \fBfind_package()\fP commands
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1193
except when invoked with the \fBNO_POLICY_SCOPE\fP option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1194
(see also policy \fBCMP0011\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1195
The \fBcmake_policy\fP command provides an interface to manage custom
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1196
entries on the policy stack:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1197
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1198
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1199
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1200
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1201
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1202
cmake_policy(PUSH)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1203
cmake_policy(POP)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1204
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1205
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1206
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1207
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1208
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1209
Each \fBPUSH\fP must have a matching \fBPOP\fP to erase any changes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1210
This is useful to make temporary changes to policy settings.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1211
Calls to the \fBcmake_minimum_required(VERSION)\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1212
\fBcmake_policy(VERSION)\fP, or \fBcmake_policy(SET)\fP commands
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1213
influence only the current top of the policy stack.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1214
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1215
Commands created by the \fBfunction()\fP and \fBmacro()\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1216
commands record policy settings when they are created and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1217
use the pre\-record policies when they are invoked.  If the function or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1218
macro implementation sets policies, the changes automatically
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1219
propagate up through callers until they reach the closest nested
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1220
policy stack entry.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1221
.SS configure_file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1222
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1223
Copy a file to another location and modify its contents.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1224
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1225
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1226
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1227
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1228
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1229
configure_file(<input> <output>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1230
               [COPYONLY] [ESCAPE_QUOTES] [@ONLY]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1231
               [NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1232
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1233
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1234
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1235
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1236
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1237
Copies an \fB<input>\fP file to an \fB<output>\fP file and substitutes
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1238
variable values referenced as \fB@VAR@\fP or \fB${VAR}\fP in the input
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1239
file content.  Each variable reference will be replaced with the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1240
current value of the variable, or the empty string if the variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1241
is not defined.  Furthermore, input lines of the form:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1242
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1243
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1244
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1245
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1246
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1247
#cmakedefine VAR ...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1248
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1249
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1250
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1251
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1252
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1253
will be replaced with either:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1254
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1255
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1256
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1257
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1258
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1259
#define VAR ...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1260
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1261
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1262
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1263
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1264
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1265
or:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1266
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1267
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1268
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1269
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1270
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1271
/* #undef VAR */
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1272
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1273
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1274
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1275
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1276
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1277
depending on whether \fBVAR\fP is set in CMake to any value not considered
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1278
a false constant by the \fBif()\fP command.  The "..." content on the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1279
line after the variable name, if any, is processed as above.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1280
Input file lines of the form \fB#cmakedefine01 VAR\fP will be replaced with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1281
either \fB#define VAR 1\fP or \fB#define VAR 0\fP similarly.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1282
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1283
If the input file is modified the build system will re\-run CMake to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1284
re\-configure the file and generate the build system again.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1285
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1286
The arguments are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1287
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1288
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1289
.B \fB<input>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1290
Path to the input file.  A relative path is treated with respect to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1291
the value of \fBCMAKE_CURRENT_SOURCE_DIR\fP\&.  The input path
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1292
must be a file, not a directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1293
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1294
.B \fB<output>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1295
Path to the output file or directory.  A relative path is treated
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1296
with respect to the value of \fBCMAKE_CURRENT_BINARY_DIR\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1297
If the path names an existing directory the output file is placed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1298
in that directory with the same file name as the input file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1299
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1300
.B \fBCOPYONLY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1301
Copy the file without replacing any variable references or other
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1302
content.  This option may not be used with \fBNEWLINE_STYLE\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1303
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1304
.B \fBESCAPE_QUOTES\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1305
Escape any substituted quotes with backslashes (C\-style).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1306
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1307
.B \fB@ONLY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1308
Restrict variable replacement to references of the form \fB@VAR@\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1309
This is useful for configuring scripts that use \fB${VAR}\fP syntax.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1310
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1311
.B \fBNEWLINE_STYLE <style>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1312
Specify the newline style for the output file.  Specify
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1313
\fBUNIX\fP or \fBLF\fP for \fB\en\fP newlines, or specify
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1314
\fBDOS\fP, \fBWIN32\fP, or \fBCRLF\fP for \fB\er\en\fP newlines.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1315
This option may not be used with \fBCOPYONLY\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1316
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1317
.SS Example
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1318
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1319
Consider a source tree containing a \fBfoo.h.in\fP file:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1320
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1321
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1322
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1323
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1324
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1325
#cmakedefine FOO_ENABLE
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1326
#cmakedefine FOO_STRING "@FOO_STRING@"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1327
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1328
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1329
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1330
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1331
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1332
An adjacent \fBCMakeLists.txt\fP may use \fBconfigure_file\fP to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1333
configure the header:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1334
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1335
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1336
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1337
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1338
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1339
option(FOO_ENABLE "Enable Foo" ON)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1340
if(FOO_ENABLE)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1341
  set(FOO_STRING "foo")
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1342
endif()
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1343
configure_file(foo.h.in foo.h @ONLY)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1344
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1345
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1346
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1347
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1348
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1349
This creates a \fBfoo.h\fP in the build directory corresponding to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1350
this source directory.  If the \fBFOO_ENABLE\fP option is on, the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1351
configured file will contain:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1352
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1353
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1354
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1355
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1356
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1357
#define FOO_ENABLE
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1358
#define FOO_STRING "foo"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1359
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1360
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1361
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1362
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1363
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1364
Otherwise it will contain:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1365
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1366
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1367
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1368
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1369
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1370
/* #undef FOO_ENABLE */
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1371
/* #undef FOO_STRING */
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1372
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1373
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1374
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1375
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1376
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1377
One may then use the \fBinclude_directories()\fP command to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1378
specify the output directory as an include directory:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1379
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1380
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1381
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1382
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1383
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1384
include_directories(${CMAKE_CURRENT_BINARY_DIR})
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1385
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1386
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1387
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1388
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1389
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1390
so that sources may include the header as \fB#include <foo.h>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1391
.SS continue
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1392
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1393
Continue to the top of enclosing foreach or while loop.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1394
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1395
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1396
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1397
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1398
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1399
continue()
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1400
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1401
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1402
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1403
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1404
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1405
The \fBcontinue\fP command allows a cmake script to abort the rest of a block
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1406
in a \fBforeach()\fP or \fBwhile()\fP loop, and start at the top of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1407
the next iteration.  See also the \fBbreak()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1408
.SS create_test_sourcelist
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1409
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1410
Create a test driver and source list for building test programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1411
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1412
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1413
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1414
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1415
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1416
create_test_sourcelist(sourceListName driverName
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1417
                       test1 test2 test3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1418
                       EXTRA_INCLUDE include.h
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1419
                       FUNCTION function)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1420
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1421
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1422
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1423
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1424
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1425
A test driver is a program that links together many small tests into a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1426
single executable.  This is useful when building static executables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1427
with large libraries to shrink the total required size.  The list of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1428
source files needed to build the test driver will be in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1429
sourceListName.  DriverName is the name of the test driver program.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1430
The rest of the arguments consist of a list of test source files, can
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1431
be semicolon separated.  Each test source file should have a function
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1432
in it that is the same name as the file with no extension (foo.cxx
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1433
should have int foo(int, char*[]);) DriverName will be able to call
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1434
each of the tests by name on the command line.  If EXTRA_INCLUDE is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1435
specified, then the next argument is included into the generated file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1436
If FUNCTION is specified, then the next argument is taken as a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1437
function name that is passed a pointer to ac and av.  This can be used
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1438
to add extra command line processing to each test.  The cmake variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1439
CMAKE_TESTDRIVER_BEFORE_TESTMAIN can be set to have code that will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1440
placed directly before calling the test main function.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1441
CMAKE_TESTDRIVER_AFTER_TESTMAIN can be set to have code that will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1442
placed directly after the call to the test main function.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1443
.SS define_property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1444
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1445
Define and document custom properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1446
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1447
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1448
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1449
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1450
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1451
define_property(<GLOBAL | DIRECTORY | TARGET | SOURCE |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1452
                 TEST | VARIABLE | CACHED_VARIABLE>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1453
                 PROPERTY <name> [INHERITED]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1454
                 BRIEF_DOCS <brief\-doc> [docs...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1455
                 FULL_DOCS <full\-doc> [docs...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1456
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1457
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1458
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1459
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1460
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1461
Define one property in a scope for use with the set_property and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1462
get_property commands.  This is primarily useful to associate
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1463
documentation with property names that may be retrieved with the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1464
get_property command.  The first argument determines the kind of scope
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1465
in which the property should be used.  It must be one of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1466
following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1467
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1468
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1469
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1470
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1471
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1472
GLOBAL    = associated with the global namespace
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1473
DIRECTORY = associated with one directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1474
TARGET    = associated with one target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1475
SOURCE    = associated with one source file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1476
TEST      = associated with a test named with add_test
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1477
VARIABLE  = documents a CMake language variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1478
CACHED_VARIABLE = documents a CMake cache variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1479
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1480
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1481
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1482
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1483
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1484
Note that unlike set_property and get_property no actual scope needs
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1485
to be given; only the kind of scope is important.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1486
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1487
The required PROPERTY option is immediately followed by the name of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1488
the property being defined.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1489
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1490
If the INHERITED option then the get_property command will chain up to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1491
the next higher scope when the requested property is not set in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1492
scope given to the command.  DIRECTORY scope chains to GLOBAL.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1493
TARGET, SOURCE, and TEST chain to DIRECTORY.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1494
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1495
The BRIEF_DOCS and FULL_DOCS options are followed by strings to be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1496
associated with the property as its brief and full documentation.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1497
Corresponding options to the get_property command will retrieve the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1498
documentation.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1499
.SS elseif
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1500
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1501
Starts the elseif portion of an if block.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1502
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1503
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1504
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1505
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1506
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1507
elseif(expression)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1508
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1509
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1510
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1511
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1512
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1513
See the if command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1514
.SS else
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1515
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1516
Starts the else portion of an if block.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1517
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1518
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1519
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1520
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1521
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1522
else(expression)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1523
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1524
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1525
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1526
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1527
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1528
See the if command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1529
.SS enable_language
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1530
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1531
Enable a language (CXX/C/Fortran/etc)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1532
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1533
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1534
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1535
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1536
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1537
enable_language(<lang> [OPTIONAL] )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1538
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1539
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1540
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1541
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1542
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1543
This command enables support for the named language in CMake.  This is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1544
the same as the project command but does not create any of the extra
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1545
variables that are created by the project command.  Example languages
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1546
are CXX, C, Fortran.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1547
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1548
This command must be called in file scope, not in a function call.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1549
Furthermore, it must be called in the highest directory common to all
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1550
targets using the named language directly for compiling sources or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1551
indirectly through link dependencies.  It is simplest to enable all
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1552
needed languages in the top\-level directory of a project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1553
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1554
The OPTIONAL keyword is a placeholder for future implementation and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1555
does not currently work.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1556
.SS enable_testing
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1557
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1558
Enable testing for current directory and below.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1559
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1560
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1561
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1562
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1563
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1564
enable_testing()
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1565
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1566
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1567
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1568
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1569
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1570
Enables testing for this directory and below.  See also the add_test
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1571
command.  Note that ctest expects to find a test file in the build
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1572
directory root.  Therefore, this command should be in the source
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1573
directory root.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1574
.SS endforeach
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1575
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1576
Ends a list of commands in a FOREACH block.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1577
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1578
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1579
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1580
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1581
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1582
endforeach(expression)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1583
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1584
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1585
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1586
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1587
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1588
See the FOREACH command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1589
.SS endfunction
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1590
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1591
Ends a list of commands in a function block.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1592
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1593
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1594
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1595
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1596
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1597
endfunction(expression)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1598
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1599
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1600
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1601
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1602
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1603
See the function command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1604
.SS endif
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1605
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1606
Ends a list of commands in an if block.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1607
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1608
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1609
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1610
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1611
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1612
endif(expression)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1613
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1614
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1615
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1616
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1617
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1618
See the if command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1619
.SS endmacro
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1620
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1621
Ends a list of commands in a macro block.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1622
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1623
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1624
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1625
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1626
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1627
endmacro(expression)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1628
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1629
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1630
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1631
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1632
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1633
See the macro command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1634
.SS endwhile
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1635
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1636
Ends a list of commands in a while block.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1637
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1638
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1639
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1640
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1641
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1642
endwhile(expression)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1643
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1644
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1645
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1646
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1647
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1648
See the while command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1649
.SS execute_process
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1650
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1651
Execute one or more child processes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1652
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1653
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1654
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1655
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1656
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1657
execute_process(COMMAND <cmd1> [args1...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1658
                [COMMAND <cmd2> [args2...] [...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1659
                [WORKING_DIRECTORY <directory>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1660
                [TIMEOUT <seconds>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1661
                [RESULT_VARIABLE <variable>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1662
                [OUTPUT_VARIABLE <variable>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1663
                [ERROR_VARIABLE <variable>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1664
                [INPUT_FILE <file>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1665
                [OUTPUT_FILE <file>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1666
                [ERROR_FILE <file>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1667
                [OUTPUT_QUIET]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1668
                [ERROR_QUIET]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1669
                [OUTPUT_STRIP_TRAILING_WHITESPACE]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1670
                [ERROR_STRIP_TRAILING_WHITESPACE])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1671
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1672
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1673
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1674
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1675
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1676
Runs the given sequence of one or more commands with the standard
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1677
output of each process piped to the standard input of the next.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1678
A single standard error pipe is used for all processes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1679
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1680
Options:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1681
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1682
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1683
.B COMMAND
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1684
A child process command line.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1685
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1686
CMake executes the child process using operating system APIs directly.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1687
All arguments are passed VERBATIM to the child process.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1688
No intermediate shell is used, so shell operators such as \fB>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1689
are treated as normal arguments.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1690
(Use the \fBINPUT_*\fP, \fBOUTPUT_*\fP, and \fBERROR_*\fP options to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1691
redirect stdin, stdout, and stderr.)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1692
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1693
.B WORKING_DIRECTORY
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1694
The named directory will be set as the current working directory of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1695
the child processes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1696
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1697
.B TIMEOUT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1698
The child processes will be terminated if they do not finish in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1699
specified number of seconds (fractions are allowed).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1700
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1701
.B RESULT_VARIABLE
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1702
The variable will be set to contain the result of running the processes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1703
This will be an integer return code from the last child or a string
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1704
describing an error condition.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1705
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1706
.B OUTPUT_VARIABLE, ERROR_VARIABLE
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1707
The variable named will be set with the contents of the standard output
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1708
and standard error pipes, respectively.  If the same variable is named
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1709
for both pipes their output will be merged in the order produced.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1710
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1711
.B INPUT_FILE, OUTPUT_FILE, ERROR_FILE
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1712
The file named will be attached to the standard input of the first
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1713
process, standard output of the last process, or standard error of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1714
all processes, respectively.  If the same file is named for both
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1715
output and error then it will be used for both.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1716
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1717
.B OUTPUT_QUIET, ERROR_QUIET
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1718
The standard output or standard error results will be quietly ignored.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1719
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1720
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1721
If more than one \fBOUTPUT_*\fP or \fBERROR_*\fP option is given for the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1722
same pipe the precedence is not specified.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1723
If no \fBOUTPUT_*\fP or \fBERROR_*\fP options are given the output will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1724
be shared with the corresponding pipes of the CMake process itself.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1725
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1726
The \fI\%execute_process()\fP command is a newer more powerful version of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1727
\fBexec_program()\fP, but the old command has been kept for compatibility.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1728
Both commands run while CMake is processing the project prior to build
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1729
system generation.  Use \fBadd_custom_target()\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1730
\fBadd_custom_command()\fP to create custom commands that run at
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1731
build time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1732
.SS export
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1733
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1734
Export targets from the build tree for use by outside projects.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1735
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1736
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1737
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1738
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1739
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1740
export(EXPORT <export\-name> [NAMESPACE <namespace>] [FILE <filename>])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1741
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1742
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1743
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1744
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1745
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1746
Create a file <filename> that may be included by outside projects to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1747
import targets from the current project\(aqs build tree.  This is useful
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1748
during cross\-compiling to build utility executables that can run on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1749
the host platform in one project and then import them into another
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1750
project being compiled for the target platform.  If the NAMESPACE
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1751
option is given the <namespace> string will be prepended to all target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1752
names written to the file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1753
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1754
Target installations are associated with the export <export\-name>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1755
using the \fBEXPORT\fP option of the \fBinstall(TARGETS)\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1756
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1757
The file created by this command is specific to the build tree and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1758
should never be installed.  See the install(EXPORT) command to export
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1759
targets from an installation tree.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1760
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1761
The properties set on the generated IMPORTED targets will have the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1762
same values as the final values of the input TARGETS.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1763
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1764
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1765
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1766
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1767
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1768
export(TARGETS [target1 [target2 [...]]] [NAMESPACE <namespace>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1769
       [APPEND] FILE <filename> [EXPORT_LINK_INTERFACE_LIBRARIES])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1770
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1771
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1772
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1773
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1774
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1775
This signature is similar to the \fBEXPORT\fP signature, but targets are listed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1776
explicitly rather than specified as an export\-name.  If the APPEND option is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1777
given the generated code will be appended to the file instead of overwriting it.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1778
The EXPORT_LINK_INTERFACE_LIBRARIES keyword, if present, causes the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1779
contents of the properties matching
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1780
\fB(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?\fP to be exported, when
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1781
policy CMP0022 is NEW.  If a library target is included in the export
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1782
but a target to which it links is not included the behavior is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1783
unspecified.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1784
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1785
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1786
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1787
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1788
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1789
export(PACKAGE <name>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1790
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1791
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1792
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1793
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1794
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1795
Store the current build directory in the CMake user package registry
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1796
for package <name>.  The find_package command may consider the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1797
directory while searching for package <name>.  This helps dependent
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1798
projects find and use a package from the current project\(aqs build tree
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1799
without help from the user.  Note that the entry in the package
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1800
registry that this command creates works only in conjunction with a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1801
package configuration file (<name>Config.cmake) that works with the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1802
build tree. In some cases, for example for packaging and for system
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1803
wide installations, it is not desirable to write the user package
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1804
registry. If the \fBCMAKE_EXPORT_NO_PACKAGE_REGISTRY\fP variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1805
is enabled, the \fBexport(PACKAGE)\fP command will do nothing.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1806
.SS file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1807
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1808
File manipulation command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1809
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1810
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1811
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1812
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1813
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1814
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1815
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1816
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1817
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1818
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1819
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1820
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1821
file(WRITE <filename> <content>...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1822
file(APPEND <filename> <content>...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1823
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1824
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1825
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1826
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1827
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1828
Write \fB<content>\fP into a file called \fB<filename>\fP\&.  If the file does
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1829
not exist, it will be created.  If the file already exists, \fBWRITE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1830
mode will overwrite it and \fBAPPEND\fP mode will append to the end.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1831
(If the file is a build input, use the \fBconfigure_file()\fP command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1832
to update the file only when its content changes.)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1833
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1834
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1835
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1836
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1837
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1838
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1839
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1840
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1841
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1842
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1843
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1844
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1845
file(READ <filename> <variable>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1846
     [OFFSET <offset>] [LIMIT <max\-in>] [HEX])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1847
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1848
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1849
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1850
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1851
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1852
Read content from a file called \fB<filename>\fP and store it in a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1853
\fB<variable>\fP\&.  Optionally start from the given \fB<offset>\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1854
read at most \fB<max\-in>\fP bytes.  The \fBHEX\fP option causes data to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1855
be converted to a hexadecimal representation (useful for binary data).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1856
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1857
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1858
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1859
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1860
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1861
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1862
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1863
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1864
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1865
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1866
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1867
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1868
file(STRINGS <filename> <variable> [<options>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1869
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1870
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1871
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1872
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1873
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1874
Parse a list of ASCII strings from \fB<filename>\fP and store it in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1875
\fB<variable>\fP\&.  Binary data in the file are ignored.  Carriage return
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1876
(\fB\er\fP, CR) characters are ignored.  The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1877
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1878
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1879
.B \fBLENGTH_MAXIMUM <max\-len>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1880
Consider only strings of at most a given length.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1881
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1882
.B \fBLENGTH_MINIMUM <min\-len>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1883
Consider only strings of at least a given length.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1884
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1885
.B \fBLIMIT_COUNT <max\-num>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1886
Limit the number of distinct strings to be extracted.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1887
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1888
.B \fBLIMIT_INPUT <max\-in>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1889
Limit the number of input bytes to read from the file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1890
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1891
.B \fBLIMIT_OUTPUT <max\-out>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1892
Limit the number of total bytes to store in the \fB<variable>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1893
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1894
.B \fBNEWLINE_CONSUME\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1895
Treat newline characters (\fB\en\fP, LF) as part of string content
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1896
instead of terminating at them.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1897
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1898
.B \fBNO_HEX_CONVERSION\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1899
Intel Hex and Motorola S\-record files are automatically converted to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1900
binary while reading unless this option is given.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1901
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1902
.B \fBREGEX <regex>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1903
Consider only strings that match the given regular expression.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1904
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1905
.B \fBENCODING <encoding\-type>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1906
Consider strings of a given encoding.  Currently supported encodings are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1907
UTF\-8, UTF\-16LE, UTF\-16BE, UTF\-32LE, UTF\-32BE.  If the ENCODING option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1908
is not provided and the file has a Byte Order Mark, the ENCODING option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1909
will be defaulted to respect the Byte Order Mark.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1910
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1911
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1912
For example, the code
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1913
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1914
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1915
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1916
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1917
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1918
file(STRINGS myfile.txt myfile)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1919
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1920
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1921
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1922
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1923
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1924
stores a list in the variable \fBmyfile\fP in which each item is a line
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1925
from the input file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1926
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1927
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1928
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1929
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1930
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1931
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1932
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1933
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1934
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1935
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1936
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1937
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1938
file(<MD5|SHA1|SHA224|SHA256|SHA384|SHA512> <filename> <variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1939
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1940
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1941
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1942
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1943
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1944
Compute a cryptographic hash of the content of \fB<filename>\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1945
store it in a \fB<variable>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1946
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1947
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1948
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1949
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1950
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1951
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1952
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1953
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1954
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1955
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1956
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1957
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1958
file(GLOB <variable>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1959
     [LIST_DIRECTORIES true|false] [RELATIVE <path>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1960
     [<globbing\-expressions>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1961
file(GLOB_RECURSE <variable> [FOLLOW_SYMLINKS]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1962
     [LIST_DIRECTORIES true|false] [RELATIVE <path>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1963
     [<globbing\-expressions>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1964
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1965
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1966
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1967
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1968
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1969
Generate a list of files that match the \fB<globbing\-expressions>\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1970
store it into the \fB<variable>\fP\&.  Globbing expressions are similar to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1971
regular expressions, but much simpler.  If \fBRELATIVE\fP flag is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1972
specified, the results will be returned as relative paths to the given
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1973
path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1974
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1975
By default \fBGLOB\fP lists directories \- directories are omited in result if
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1976
\fBLIST_DIRECTORIES\fP is set to false.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1977
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1978
\fBNOTE:\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1979
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1980
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1981
We do not recommend using GLOB to collect a list of source files from
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1982
your source tree.  If no CMakeLists.txt file changes when a source is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1983
added or removed then the generated build system cannot know when to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1984
ask CMake to regenerate.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1985
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1986
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1987
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1988
Examples of globbing expressions include:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1989
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1990
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1991
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1992
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1993
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1994
*.cxx      \- match all files with extension cxx
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1995
*.vt?      \- match all files with extension vta,...,vtz
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1996
f[3\-5].txt \- match files f3.txt, f4.txt, f5.txt
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1997
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1998
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  1999
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2000
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2001
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2002
The \fBGLOB_RECURSE\fP mode will traverse all the subdirectories of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2003
matched directory and match the files.  Subdirectories that are symlinks
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2004
are only traversed if \fBFOLLOW_SYMLINKS\fP is given or policy
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2005
\fBCMP0009\fP is not set to \fBNEW\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2006
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2007
By default \fBGLOB_RECURSE\fP omits directories from result list \- setting
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2008
\fBLIST_DIRECTORIES\fP to true adds directories to result list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2009
If \fBFOLLOW_SYMLINKS\fP is given or policy \fBCMP0009\fP is not set to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2010
\fBOLD\fP then \fBLIST_DIRECTORIES\fP treats symlinks as directories.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2011
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2012
Examples of recursive globbing include:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2013
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2014
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2015
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2016
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2017
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2018
/dir/*.py  \- match all python files in /dir and subdirectories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2019
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2020
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2021
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2022
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2023
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2024
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2025
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2026
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2027
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2028
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2029
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2030
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2031
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2032
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2033
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2034
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2035
file(RENAME <oldname> <newname>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2036
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2037
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2038
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2039
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2040
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2041
Move a file or directory within a filesystem from \fB<oldname>\fP to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2042
\fB<newname>\fP, replacing the destination atomically.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2043
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2044
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2045
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2046
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2047
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2048
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2049
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2050
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2051
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2052
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2053
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2054
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2055
file(REMOVE [<files>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2056
file(REMOVE_RECURSE [<files>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2057
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2058
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2059
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2060
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2061
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2062
Remove the given files.  The \fBREMOVE_RECURSE\fP mode will remove the given
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2063
files and directories, also non\-empty directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2064
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2065
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2066
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2067
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2068
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2069
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2070
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2071
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2072
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2073
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2074
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2075
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2076
file(MAKE_DIRECTORY [<directories>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2077
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2078
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2079
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2080
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2081
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2082
Create the given directories and their parents as needed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2083
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2084
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2085
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2086
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2087
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2088
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2089
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2090
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2091
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2092
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2093
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2094
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2095
file(RELATIVE_PATH <variable> <directory> <file>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2096
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2097
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2098
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2099
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2100
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2101
Compute the relative path from a \fB<directory>\fP to a \fB<file>\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2102
store it in the \fB<variable>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2103
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2104
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2105
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2106
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2107
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2108
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2109
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2110
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2111
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2112
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2113
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2114
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2115
file(TO_CMAKE_PATH "<path>" <variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2116
file(TO_NATIVE_PATH "<path>" <variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2117
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2118
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2119
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2120
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2121
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2122
The \fBTO_CMAKE_PATH\fP mode converts a native \fB<path>\fP into a cmake\-style
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2123
path with forward\-slashes (\fB/\fP).  The input can be a single path or a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2124
system search path like \fB$ENV{PATH}\fP\&.  A search path will be converted
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2125
to a cmake\-style list separated by \fB;\fP characters.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2126
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2127
The \fBTO_NATIVE_PATH\fP mode converts a cmake\-style \fB<path>\fP into a native
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2128
path with platform\-specific slashes (\fB\e\fP on Windows and \fB/\fP elsewhere).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2129
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2130
Always use double quotes around the \fB<path>\fP to be sure it is treated
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2131
as a single argument to this command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2132
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2133
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2134
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2135
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2136
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2137
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2138
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2139
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2140
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2141
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2142
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2143
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2144
file(DOWNLOAD <url> <file> [<options>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2145
file(UPLOAD   <file> <url> [<options>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2146
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2147
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2148
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2149
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2150
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2151
The \fBDOWNLOAD\fP mode downloads the given \fB<url>\fP to a local \fB<file>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2152
The \fBUPLOAD\fP mode uploads a local \fB<file>\fP to a given \fB<url>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2153
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2154
Options to both \fBDOWNLOAD\fP and \fBUPLOAD\fP are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2155
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2156
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2157
.B \fBINACTIVITY_TIMEOUT <seconds>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2158
Terminate the operation after a period of inactivity.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2159
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2160
.B \fBLOG <variable>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2161
Store a human\-readable log of the operation in a variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2162
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2163
.B \fBSHOW_PROGRESS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2164
Print progress information as status messages until the operation is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2165
complete.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2166
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2167
.B \fBSTATUS <variable>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2168
Store the resulting status of the operation in a variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2169
The status is a \fB;\fP separated list of length 2.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2170
The first element is the numeric return value for the operation,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2171
and the second element is a string value for the error.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2172
A \fB0\fP numeric error means no error in the operation.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2173
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2174
.B \fBTIMEOUT <seconds>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2175
Terminate the operation after a given total time has elapsed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2176
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2177
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2178
Additional options to \fBDOWNLOAD\fP are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2179
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2180
\fBEXPECTED_HASH ALGO=<value>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2181
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2182
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2183
Verify that the downloaded content hash matches the expected value, where
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2184
\fBALGO\fP is one of \fBMD5\fP, \fBSHA1\fP, \fBSHA224\fP, \fBSHA256\fP, \fBSHA384\fP, or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2185
\fBSHA512\fP\&.  If it does not match, the operation fails with an error.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2186
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2187
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2188
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2189
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2190
.B \fBEXPECTED_MD5 <value>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2191
Historical short\-hand for \fBEXPECTED_HASH MD5=<value>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2192
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2193
.B \fBTLS_VERIFY <ON|OFF>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2194
Specify whether to verify the server certificate for \fBhttps://\fP URLs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2195
The default is to \fInot\fP verify.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2196
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2197
.B \fBTLS_CAINFO <file>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2198
Specify a custom Certificate Authority file for \fBhttps://\fP URLs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2199
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2200
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2201
For \fBhttps://\fP URLs CMake must be built with OpenSSL support.  \fBTLS/SSL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2202
certificates are not checked by default.  Set \fBTLS_VERIFY\fP to \fBON\fP to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2203
check certificates and/or use \fBEXPECTED_HASH\fP to verify downloaded content.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2204
If neither \fBTLS\fP option is given CMake will check variables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2205
\fBCMAKE_TLS_VERIFY\fP and \fBCMAKE_TLS_CAINFO\fP, respectively.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2206
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2207
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2208
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2209
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2210
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2211
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2212
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2213
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2214
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2215
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2216
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2217
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2218
file(TIMESTAMP <filename> <variable> [<format>] [UTC])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2219
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2220
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2221
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2222
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2223
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2224
Compute a string representation of the modification time of \fB<filename>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2225
and store it in \fB<variable>\fP\&.  Should the command be unable to obtain a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2226
timestamp variable will be set to the empty string ("").
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2227
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2228
See the \fBstring(TIMESTAMP)\fP command for documentation of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2229
the \fB<format>\fP and \fBUTC\fP options.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2230
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2231
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2232
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2233
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2234
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2235
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2236
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2237
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2238
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2239
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2240
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2241
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2242
file(GENERATE OUTPUT output\-file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2243
     <INPUT input\-file|CONTENT content>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2244
     [CONDITION expression])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2245
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2246
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2247
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2248
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2249
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2250
Generate an output file for each build configuration supported by the current
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2251
\fBCMake Generator\fP\&.  Evaluate
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2252
\fBgenerator expressions\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2253
from the input content to produce the output content.  The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2254
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2255
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2256
.B \fBCONDITION <condition>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2257
Generate the output file for a particular configuration only if
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2258
the condition is true.  The condition must be either \fB0\fP or \fB1\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2259
after evaluating generator expressions.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2260
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2261
.B \fBCONTENT <content>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2262
Use the content given explicitly as input.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2263
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2264
.B \fBINPUT <input\-file>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2265
Use the content from a given file as input.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2266
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2267
.B \fBOUTPUT <output\-file>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2268
Specify the output file name to generate.  Use generator expressions
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2269
such as \fB$<CONFIG>\fP to specify a configuration\-specific output file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2270
name.  Multiple configurations may generate the same output file only
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2271
if the generated content is identical.  Otherwise, the \fB<output\-file>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2272
must evaluate to an unique name for each configuration.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2273
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2274
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2275
Exactly one \fBCONTENT\fP or \fBINPUT\fP option must be given.  A specific
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2276
\fBOUTPUT\fP file may be named by at most one invocation of \fBfile(GENERATE)\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2277
Generated files are modified on subsequent cmake runs only if their content
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2278
is changed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2279
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2280
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2281
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2282
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2283
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2284
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2285
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2286
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2287
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2288
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2289
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2290
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2291
file(<COPY|INSTALL> <files>... DESTINATION <dir>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2292
     [FILE_PERMISSIONS <permissions>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2293
     [DIRECTORY_PERMISSIONS <permissions>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2294
     [NO_SOURCE_PERMISSIONS] [USE_SOURCE_PERMISSIONS]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2295
     [FILES_MATCHING]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2296
     [[PATTERN <pattern> | REGEX <regex>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2297
      [EXCLUDE] [PERMISSIONS <permissions>...]] [...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2298
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2299
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2300
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2301
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2302
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2303
The \fBCOPY\fP signature copies files, directories, and symlinks to a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2304
destination folder.  Relative input paths are evaluated with respect
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2305
to the current source directory, and a relative destination is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2306
evaluated with respect to the current build directory.  Copying
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2307
preserves input file timestamps, and optimizes out a file if it exists
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2308
at the destination with the same timestamp.  Copying preserves input
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2309
permissions unless explicit permissions or \fBNO_SOURCE_PERMISSIONS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2310
are given (default is \fBUSE_SOURCE_PERMISSIONS\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2311
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2312
See the \fBinstall(DIRECTORY)\fP command for documentation of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2313
permissions, \fBFILES_MATCHING\fP, \fBPATTERN\fP, \fBREGEX\fP, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2314
\fBEXCLUDE\fP options.  Copying directories preserves the structure
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2315
of their content even if options are used to select a subset of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2316
files.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2317
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2318
The \fBINSTALL\fP signature differs slightly from \fBCOPY\fP: it prints
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2319
status messages (subject to the \fBCMAKE_INSTALL_MESSAGE\fP variable),
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2320
and \fBNO_SOURCE_PERMISSIONS\fP is default.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2321
Installation scripts generated by the \fBinstall()\fP command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2322
use this signature (with some undocumented options for internal use).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2323
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2324
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2325
.ce
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2326
----
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2327
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2328
.ce 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2329
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2330
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2331
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2332
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2333
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2334
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2335
file(LOCK <path> [DIRECTORY] [RELEASE]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2336
     [GUARD <FUNCTION|FILE|PROCESS>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2337
     [RESULT_VARIABLE <variable>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2338
     [TIMEOUT <seconds>])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2339
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2340
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2341
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2342
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2343
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2344
Lock a file specified by \fB<path>\fP if no \fBDIRECTORY\fP option present and file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2345
\fB<path>/cmake.lock\fP otherwise. File will be locked for scope defined by
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2346
\fBGUARD\fP option (default value is \fBPROCESS\fP). \fBRELEASE\fP option can be used
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2347
to unlock file explicitly. If option \fBTIMEOUT\fP is not specified CMake will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2348
wait until lock succeed or until fatal error occurs. If \fBTIMEOUT\fP is set to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2349
\fB0\fP lock will be tried once and result will be reported immediately. If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2350
\fBTIMEOUT\fP is not \fB0\fP CMake will try to lock file for the period specified
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2351
by \fB<seconds>\fP value. Any errors will be interpreted as fatal if there is no
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2352
\fBRESULT_VARIABLE\fP option. Otherwise result will be stored in \fB<variable>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2353
and will be \fB0\fP on success or error message on failure.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2354
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2355
Note that lock is advisory \- there is no guarantee that other processes will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2356
respect this lock, i.e. lock synchronize two or more CMake instances sharing
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2357
some modifiable resources. Similar logic applied to \fBDIRECTORY\fP option \-
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2358
locking parent directory doesn\(aqt prevent other \fBLOCK\fP commands to lock any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2359
child directory or file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2360
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2361
Trying to lock file twice is not allowed.  Any intermediate directories and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2362
file itself will be created if they not exist.  \fBGUARD\fP and \fBTIMEOUT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2363
options ignored on \fBRELEASE\fP operation.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2364
.SS find_file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2365
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2366
A short\-hand signature is:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2367
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2368
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2369
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2370
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2371
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2372
find_file (<VAR> name1 [path1 path2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2373
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2374
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2375
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2376
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2377
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2378
The general signature is:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2379
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2380
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2381
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2382
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2383
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2384
find_file (
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2385
          <VAR>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2386
          name | NAMES name1 [name2 ...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2387
          [HINTS path1 [path2 ... ENV var]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2388
          [PATHS path1 [path2 ... ENV var]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2389
          [PATH_SUFFIXES suffix1 [suffix2 ...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2390
          [DOC "cache documentation string"]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2391
          [NO_DEFAULT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2392
          [NO_CMAKE_ENVIRONMENT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2393
          [NO_CMAKE_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2394
          [NO_SYSTEM_ENVIRONMENT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2395
          [NO_CMAKE_SYSTEM_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2396
          [CMAKE_FIND_ROOT_PATH_BOTH |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2397
           ONLY_CMAKE_FIND_ROOT_PATH |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2398
           NO_CMAKE_FIND_ROOT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2399
         )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2400
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2401
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2402
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2403
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2404
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2405
This command is used to find a full path to named file\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2406
A cache entry named by \fB<VAR>\fP is created to store the result
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2407
of this command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2408
If the full path to a file is found the result is stored in the variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2409
and the search will not be repeated unless the variable is cleared.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2410
If nothing is found, the result will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2411
\fB<VAR>\-NOTFOUND\fP, and the search will be attempted again the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2412
next time find_file is invoked with the same variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2413
The name of the full path to a file that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2414
is searched for is specified by the names listed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2415
after the NAMES argument.   Additional search locations
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2416
can be specified after the PATHS argument.  If ENV var is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2417
found in the HINTS or PATHS section the environment variable var
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2418
will be read and converted from a system environment variable to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2419
a cmake style list of paths.  For example ENV PATH would be a way
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2420
to list the system path variable. The argument
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2421
after DOC will be used for the documentation string in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2422
the cache.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2423
PATH_SUFFIXES specifies additional subdirectories to check below
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2424
each search path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2425
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2426
If NO_DEFAULT_PATH is specified, then no additional paths are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2427
added to the search.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2428
If NO_DEFAULT_PATH is not specified, the search process is as follows:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2429
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2430
.IP 1. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2431
Search paths specified in cmake\-specific cache variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2432
These are intended to be used on the command line with a \-DVAR=value.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2433
This can be skipped if NO_CMAKE_PATH is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2434
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2435
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2436
<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2437
<prefix>/include for each <prefix> in CMAKE_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2438
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2439
CMAKE_INCLUDE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2440
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2441
CMAKE_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2442
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2443
.IP 2. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2444
Search paths specified in cmake\-specific environment variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2445
These are intended to be set in the user\(aqs shell configuration.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2446
This can be skipped if NO_CMAKE_ENVIRONMENT_PATH is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2447
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2448
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2449
<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2450
<prefix>/include for each <prefix> in CMAKE_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2451
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2452
CMAKE_INCLUDE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2453
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2454
CMAKE_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2455
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2456
.IP 3. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2457
Search the paths specified by the HINTS option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2458
These should be paths computed by system introspection, such as a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2459
hint provided by the location of another item already found.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2460
Hard\-coded guesses should be specified with the PATHS option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2461
.IP 4. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2462
Search the standard system environment variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2463
This can be skipped if NO_SYSTEM_ENVIRONMENT_PATH is an argument.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2464
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2465
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2466
Directories in INCLUDE,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2467
<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2468
<prefix>/include for each <prefix>/[s]bin in PATH, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2469
<entry>/include for other entries in PATH,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2470
and the directories in PATH itself.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2471
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2472
.IP 5. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2473
Search cmake variables defined in the Platform files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2474
for the current system.  This can be skipped if NO_CMAKE_SYSTEM_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2475
is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2476
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2477
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2478
<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2479
<prefix>/include for each <prefix> in CMAKE_SYSTEM_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2480
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2481
CMAKE_SYSTEM_INCLUDE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2482
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2483
CMAKE_SYSTEM_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2484
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2485
.IP 6. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2486
Search the paths specified by the PATHS option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2487
or in the short\-hand version of the command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2488
These are typically hard\-coded guesses.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2489
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2490
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2491
On Darwin or systems supporting OS X Frameworks, the cmake variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2492
CMAKE_FIND_FRAMEWORK can be set to empty or one of the following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2493
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2494
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2495
FIRST: Try to find frameworks before standard libraries or headers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2496
This is the default on Darwin.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2497
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2498
LAST: Try to find frameworks after standard libraries or headers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2499
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2500
ONLY: Only try to find frameworks.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2501
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2502
NEVER: Never try to find frameworks.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2503
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2504
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2505
On Darwin or systems supporting OS X Application Bundles, the cmake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2506
variable CMAKE_FIND_APPBUNDLE can be set to empty or one of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2507
following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2508
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2509
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2510
FIRST: Try to find application bundles before standard programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2511
This is the default on Darwin.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2512
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2513
LAST: Try to find application bundles after standard programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2514
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2515
ONLY: Only try to find application bundles.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2516
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2517
NEVER: Never try to find application bundles.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2518
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2519
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2520
The CMake variable \fBCMAKE_FIND_ROOT_PATH\fP specifies one or more
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2521
directories to be prepended to all other search directories.  This
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2522
effectively "re\-roots" the entire search under given locations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2523
Paths which are descendants of the \fBCMAKE_STAGING_PREFIX\fP are excluded
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2524
from this re\-rooting, because that variable is always a path on the host system.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2525
By default the \fBCMAKE_FIND_ROOT_PATH\fP is empty.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2526
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2527
The \fBCMAKE_SYSROOT\fP variable can also be used to specify exactly one
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2528
directory to use as a prefix.  Setting \fBCMAKE_SYSROOT\fP also has other
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2529
effects.  See the documentation for that variable for more.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2530
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2531
These variables are especially useful when cross\-compiling to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2532
point to the root directory of the target environment and CMake will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2533
search there too.  By default at first the directories listed in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2534
\fBCMAKE_FIND_ROOT_PATH\fP are searched, then the \fBCMAKE_SYSROOT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2535
directory is searched, and then the non\-rooted directories will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2536
searched.  The default behavior can be adjusted by setting
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2537
\fBCMAKE_FIND_ROOT_PATH_MODE_INCLUDE\fP\&.  This behavior can be manually
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2538
overridden on a per\-call basis.  By using CMAKE_FIND_ROOT_PATH_BOTH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2539
the search order will be as described above.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2540
NO_CMAKE_FIND_ROOT_PATH is used then \fBCMAKE_FIND_ROOT_PATH\fP will not be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2541
used.  If ONLY_CMAKE_FIND_ROOT_PATH is used then only the re\-rooted
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2542
directories and directories below \fBCMAKE_STAGING_PREFIX\fP will be searched.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2543
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2544
The default search order is designed to be most\-specific to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2545
least\-specific for common use cases.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2546
Projects may override the order by simply calling the command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2547
multiple times and using the \fBNO_*\fP options:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2548
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2549
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2550
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2551
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2552
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2553
find_file (<VAR> NAMES name PATHS paths... NO_DEFAULT_PATH)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2554
find_file (<VAR> NAMES name)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2555
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2556
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2557
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2558
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2559
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2560
Once one of the calls succeeds the result variable will be set
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2561
and stored in the cache so that no call will search again.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2562
.SS find_library
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2563
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2564
A short\-hand signature is:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2565
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2566
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2567
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2568
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2569
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2570
find_library (<VAR> name1 [path1 path2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2571
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2572
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2573
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2574
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2575
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2576
The general signature is:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2577
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2578
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2579
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2580
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2581
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2582
find_library (
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2583
          <VAR>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2584
          name | NAMES name1 [name2 ...] [NAMES_PER_DIR]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2585
          [HINTS path1 [path2 ... ENV var]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2586
          [PATHS path1 [path2 ... ENV var]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2587
          [PATH_SUFFIXES suffix1 [suffix2 ...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2588
          [DOC "cache documentation string"]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2589
          [NO_DEFAULT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2590
          [NO_CMAKE_ENVIRONMENT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2591
          [NO_CMAKE_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2592
          [NO_SYSTEM_ENVIRONMENT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2593
          [NO_CMAKE_SYSTEM_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2594
          [CMAKE_FIND_ROOT_PATH_BOTH |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2595
           ONLY_CMAKE_FIND_ROOT_PATH |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2596
           NO_CMAKE_FIND_ROOT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2597
         )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2598
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2599
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2600
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2601
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2602
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2603
This command is used to find a library\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2604
A cache entry named by \fB<VAR>\fP is created to store the result
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2605
of this command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2606
If the library is found the result is stored in the variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2607
and the search will not be repeated unless the variable is cleared.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2608
If nothing is found, the result will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2609
\fB<VAR>\-NOTFOUND\fP, and the search will be attempted again the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2610
next time find_library is invoked with the same variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2611
The name of the library that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2612
is searched for is specified by the names listed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2613
after the NAMES argument.   Additional search locations
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2614
can be specified after the PATHS argument.  If ENV var is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2615
found in the HINTS or PATHS section the environment variable var
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2616
will be read and converted from a system environment variable to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2617
a cmake style list of paths.  For example ENV PATH would be a way
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2618
to list the system path variable. The argument
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2619
after DOC will be used for the documentation string in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2620
the cache.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2621
PATH_SUFFIXES specifies additional subdirectories to check below
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2622
each search path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2623
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2624
If NO_DEFAULT_PATH is specified, then no additional paths are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2625
added to the search.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2626
If NO_DEFAULT_PATH is not specified, the search process is as follows:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2627
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2628
.IP 1. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2629
Search paths specified in cmake\-specific cache variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2630
These are intended to be used on the command line with a \-DVAR=value.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2631
This can be skipped if NO_CMAKE_PATH is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2632
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2633
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2634
<prefix>/lib/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2635
<prefix>/lib for each <prefix> in CMAKE_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2636
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2637
CMAKE_LIBRARY_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2638
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2639
CMAKE_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2640
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2641
.IP 2. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2642
Search paths specified in cmake\-specific environment variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2643
These are intended to be set in the user\(aqs shell configuration.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2644
This can be skipped if NO_CMAKE_ENVIRONMENT_PATH is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2645
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2646
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2647
<prefix>/lib/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2648
<prefix>/lib for each <prefix> in CMAKE_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2649
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2650
CMAKE_LIBRARY_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2651
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2652
CMAKE_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2653
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2654
.IP 3. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2655
Search the paths specified by the HINTS option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2656
These should be paths computed by system introspection, such as a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2657
hint provided by the location of another item already found.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2658
Hard\-coded guesses should be specified with the PATHS option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2659
.IP 4. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2660
Search the standard system environment variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2661
This can be skipped if NO_SYSTEM_ENVIRONMENT_PATH is an argument.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2662
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2663
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2664
Directories in LIB,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2665
<prefix>/lib/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2666
<prefix>/lib for each <prefix>/[s]bin in PATH, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2667
<entry>/lib for other entries in PATH,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2668
and the directories in PATH itself.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2669
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2670
.IP 5. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2671
Search cmake variables defined in the Platform files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2672
for the current system.  This can be skipped if NO_CMAKE_SYSTEM_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2673
is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2674
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2675
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2676
<prefix>/lib/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2677
<prefix>/lib for each <prefix> in CMAKE_SYSTEM_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2678
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2679
CMAKE_SYSTEM_LIBRARY_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2680
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2681
CMAKE_SYSTEM_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2682
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2683
.IP 6. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2684
Search the paths specified by the PATHS option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2685
or in the short\-hand version of the command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2686
These are typically hard\-coded guesses.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2687
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2688
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2689
On Darwin or systems supporting OS X Frameworks, the cmake variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2690
CMAKE_FIND_FRAMEWORK can be set to empty or one of the following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2691
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2692
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2693
FIRST: Try to find frameworks before standard libraries or headers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2694
This is the default on Darwin.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2695
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2696
LAST: Try to find frameworks after standard libraries or headers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2697
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2698
ONLY: Only try to find frameworks.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2699
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2700
NEVER: Never try to find frameworks.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2701
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2702
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2703
On Darwin or systems supporting OS X Application Bundles, the cmake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2704
variable CMAKE_FIND_APPBUNDLE can be set to empty or one of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2705
following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2706
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2707
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2708
FIRST: Try to find application bundles before standard programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2709
This is the default on Darwin.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2710
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2711
LAST: Try to find application bundles after standard programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2712
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2713
ONLY: Only try to find application bundles.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2714
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2715
NEVER: Never try to find application bundles.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2716
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2717
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2718
The CMake variable \fBCMAKE_FIND_ROOT_PATH\fP specifies one or more
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2719
directories to be prepended to all other search directories.  This
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2720
effectively "re\-roots" the entire search under given locations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2721
Paths which are descendants of the \fBCMAKE_STAGING_PREFIX\fP are excluded
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2722
from this re\-rooting, because that variable is always a path on the host system.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2723
By default the \fBCMAKE_FIND_ROOT_PATH\fP is empty.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2724
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2725
The \fBCMAKE_SYSROOT\fP variable can also be used to specify exactly one
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2726
directory to use as a prefix.  Setting \fBCMAKE_SYSROOT\fP also has other
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2727
effects.  See the documentation for that variable for more.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2728
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2729
These variables are especially useful when cross\-compiling to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2730
point to the root directory of the target environment and CMake will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2731
search there too.  By default at first the directories listed in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2732
\fBCMAKE_FIND_ROOT_PATH\fP are searched, then the \fBCMAKE_SYSROOT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2733
directory is searched, and then the non\-rooted directories will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2734
searched.  The default behavior can be adjusted by setting
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2735
\fBCMAKE_FIND_ROOT_PATH_MODE_LIBRARY\fP\&.  This behavior can be manually
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2736
overridden on a per\-call basis.  By using CMAKE_FIND_ROOT_PATH_BOTH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2737
the search order will be as described above.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2738
NO_CMAKE_FIND_ROOT_PATH is used then \fBCMAKE_FIND_ROOT_PATH\fP will not be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2739
used.  If ONLY_CMAKE_FIND_ROOT_PATH is used then only the re\-rooted
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2740
directories and directories below \fBCMAKE_STAGING_PREFIX\fP will be searched.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2741
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2742
The default search order is designed to be most\-specific to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2743
least\-specific for common use cases.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2744
Projects may override the order by simply calling the command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2745
multiple times and using the \fBNO_*\fP options:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2746
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2747
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2748
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2749
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2750
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2751
find_library (<VAR> NAMES name PATHS paths... NO_DEFAULT_PATH)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2752
find_library (<VAR> NAMES name)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2753
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2754
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2755
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2756
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2757
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2758
Once one of the calls succeeds the result variable will be set
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2759
and stored in the cache so that no call will search again.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2760
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2761
When more than one value is given to the NAMES option this command by
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2762
default will consider one name at a time and search every directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2763
for it.  The NAMES_PER_DIR option tells this command to consider one
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2764
directory at a time and search for all names in it.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2765
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2766
Each library name given to the \fBNAMES\fP option is first considered
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2767
as a library file name and then considered with platform\-specific
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2768
prefixes (e.g. \fBlib\fP) and suffixes (e.g. \fB\&.so\fP).  Therefore one
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2769
may specify library file names such as \fBlibfoo.a\fP directly.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2770
This can be used to locate static libraries on UNIX\-like systems.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2771
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2772
If the library found is a framework, then VAR will be set to the full
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2773
path to the framework <fullPath>/A.framework.  When a full path to a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2774
framework is used as a library, CMake will use a \-framework A, and a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2775
\-F<fullPath> to link the framework to the target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2776
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2777
If the global property FIND_LIBRARY_USE_LIB64_PATHS is set all search
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2778
paths will be tested as normal, with "64/" appended, and with all
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2779
matches of "lib/" replaced with "lib64/".  This property is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2780
automatically set for the platforms that are known to need it if at
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2781
least one of the languages supported by the PROJECT command is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2782
enabled.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2783
.SS find_package
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2784
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2785
Load settings for an external project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2786
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2787
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2788
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2789
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2790
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2791
find_package(<package> [version] [EXACT] [QUIET] [MODULE]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2792
             [REQUIRED] [[COMPONENTS] [components...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2793
             [OPTIONAL_COMPONENTS components...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2794
             [NO_POLICY_SCOPE])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2795
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2796
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2797
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2798
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2799
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2800
Finds and loads settings from an external project.  \fB<package>_FOUND\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2801
will be set to indicate whether the package was found.  When the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2802
package is found package\-specific information is provided through
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2803
variables and Imported Targets documented by the package itself.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2804
\fBQUIET\fP option disables messages if the package cannot be found.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2805
\fBMODULE\fP option disables the second signature documented below.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2806
\fBREQUIRED\fP option stops processing with an error message if the package
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2807
cannot be found.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2808
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2809
A package\-specific list of required components may be listed after the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2810
\fBCOMPONENTS\fP option (or after the \fBREQUIRED\fP option if present).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2811
Additional optional components may be listed after
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2812
\fBOPTIONAL_COMPONENTS\fP\&.  Available components and their influence on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2813
whether a package is considered to be found are defined by the target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2814
package.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2815
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2816
The \fB[version]\fP argument requests a version with which the package found
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2817
should be compatible (format is \fBmajor[.minor[.patch[.tweak]]]\fP).  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2818
\fBEXACT\fP option requests that the version be matched exactly.  If no
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2819
\fB[version]\fP and/or component list is given to a recursive invocation
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2820
inside a find\-module, the corresponding arguments are forwarded
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2821
automatically from the outer call (including the \fBEXACT\fP flag for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2822
\fB[version]\fP).  Version support is currently provided only on a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2823
package\-by\-package basis (details below).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2824
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2825
User code should generally look for packages using the above simple
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2826
signature.  The remainder of this command documentation specifies the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2827
full command signature and details of the search process.  Project
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2828
maintainers wishing to provide a package to be found by this command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2829
are encouraged to read on.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2830
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2831
The command has two modes by which it searches for packages: "Module"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2832
mode and "Config" mode.  Module mode is available when the command is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2833
invoked with the above reduced signature.  CMake searches for a file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2834
called \fBFind<package>.cmake\fP in the \fBCMAKE_MODULE_PATH\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2835
followed by the CMake installation.  If the file is found, it is read
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2836
and processed by CMake.  It is responsible for finding the package,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2837
checking the version, and producing any needed messages.  Many
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2838
find\-modules provide limited or no support for versioning; check
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2839
the module documentation.  If no module is found and the \fBMODULE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2840
option is not given the command proceeds to Config mode.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2841
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2842
The complete Config mode command signature is:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2843
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2844
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2845
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2846
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2847
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2848
find_package(<package> [version] [EXACT] [QUIET]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2849
             [REQUIRED] [[COMPONENTS] [components...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2850
             [CONFIG|NO_MODULE]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2851
             [NO_POLICY_SCOPE]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2852
             [NAMES name1 [name2 ...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2853
             [CONFIGS config1 [config2 ...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2854
             [HINTS path1 [path2 ... ]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2855
             [PATHS path1 [path2 ... ]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2856
             [PATH_SUFFIXES suffix1 [suffix2 ...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2857
             [NO_DEFAULT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2858
             [NO_CMAKE_ENVIRONMENT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2859
             [NO_CMAKE_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2860
             [NO_SYSTEM_ENVIRONMENT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2861
             [NO_CMAKE_PACKAGE_REGISTRY]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2862
             [NO_CMAKE_BUILDS_PATH] # Deprecated; does nothing.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2863
             [NO_CMAKE_SYSTEM_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2864
             [NO_CMAKE_SYSTEM_PACKAGE_REGISTRY]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2865
             [CMAKE_FIND_ROOT_PATH_BOTH |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2866
              ONLY_CMAKE_FIND_ROOT_PATH |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2867
              NO_CMAKE_FIND_ROOT_PATH])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2868
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2869
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2870
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2871
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2872
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2873
The \fBCONFIG\fP option may be used to skip Module mode explicitly and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2874
switch to Config mode.  It is synonymous to using \fBNO_MODULE\fP\&.  Config
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2875
mode is also implied by use of options not specified in the reduced
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2876
signature.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2877
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2878
Config mode attempts to locate a configuration file provided by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2879
package to be found.  A cache entry called \fB<package>_DIR\fP is created to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2880
hold the directory containing the file.  By default the command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2881
searches for a package with the name \fB<package>\fP\&.  If the \fBNAMES\fP option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2882
is given the names following it are used instead of \fB<package>\fP\&.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2883
command searches for a file called \fB<name>Config.cmake\fP or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2884
\fB<lower\-case\-name>\-config.cmake\fP for each name specified.  A
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2885
replacement set of possible configuration file names may be given
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2886
using the \fBCONFIGS\fP option.  The search procedure is specified below.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2887
Once found, the configuration file is read and processed by CMake.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2888
Since the file is provided by the package it already knows the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2889
location of package contents.  The full path to the configuration file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2890
is stored in the cmake variable \fB<package>_CONFIG\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2891
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2892
All configuration files which have been considered by CMake while
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2893
searching for an installation of the package with an appropriate
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2894
version are stored in the cmake variable \fB<package>_CONSIDERED_CONFIGS\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2895
the associated versions in \fB<package>_CONSIDERED_VERSIONS\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2896
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2897
If the package configuration file cannot be found CMake will generate
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2898
an error describing the problem unless the \fBQUIET\fP argument is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2899
specified.  If \fBREQUIRED\fP is specified and the package is not found a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2900
fatal error is generated and the configure step stops executing.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2901
\fB<package>_DIR\fP has been set to a directory not containing a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2902
configuration file CMake will ignore it and search from scratch.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2903
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2904
When the \fB[version]\fP argument is given Config mode will only find a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2905
version of the package that claims compatibility with the requested
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2906
version (format is \fBmajor[.minor[.patch[.tweak]]]\fP).  If the \fBEXACT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2907
option is given only a version of the package claiming an exact match
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2908
of the requested version may be found.  CMake does not establish any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2909
convention for the meaning of version numbers.  Package version
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2910
numbers are checked by "version" files provided by the packages
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2911
themselves.  For a candidate package configuration file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2912
\fB<config\-file>.cmake\fP the corresponding version file is located next
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2913
to it and named either \fB<config\-file>\-version.cmake\fP or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2914
\fB<config\-file>Version.cmake\fP\&.  If no such version file is available
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2915
then the configuration file is assumed to not be compatible with any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2916
requested version.  A basic version file containing generic version
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2917
matching code can be created using the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2918
\fBCMakePackageConfigHelpers\fP module.  When a version file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2919
is found it is loaded to check the requested version number.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2920
version file is loaded in a nested scope in which the following
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2921
variables have been defined:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2922
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2923
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2924
.B \fBPACKAGE_FIND_NAME\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2925
the \fB<package>\fP name
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2926
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2927
.B \fBPACKAGE_FIND_VERSION\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2928
full requested version string
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2929
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2930
.B \fBPACKAGE_FIND_VERSION_MAJOR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2931
major version if requested, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2932
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2933
.B \fBPACKAGE_FIND_VERSION_MINOR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2934
minor version if requested, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2935
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2936
.B \fBPACKAGE_FIND_VERSION_PATCH\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2937
patch version if requested, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2938
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2939
.B \fBPACKAGE_FIND_VERSION_TWEAK\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2940
tweak version if requested, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2941
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2942
.B \fBPACKAGE_FIND_VERSION_COUNT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2943
number of version components, 0 to 4
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2944
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2945
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2946
The version file checks whether it satisfies the requested version and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2947
sets these variables:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2948
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2949
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2950
.B \fBPACKAGE_VERSION\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2951
full provided version string
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2952
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2953
.B \fBPACKAGE_VERSION_EXACT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2954
true if version is exact match
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2955
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2956
.B \fBPACKAGE_VERSION_COMPATIBLE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2957
true if version is compatible
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2958
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2959
.B \fBPACKAGE_VERSION_UNSUITABLE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2960
true if unsuitable as any version
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2961
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2962
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2963
These variables are checked by the \fBfind_package\fP command to determine
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2964
whether the configuration file provides an acceptable version.  They
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2965
are not available after the find_package call returns.  If the version
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2966
is acceptable the following variables are set:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2967
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2968
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2969
.B \fB<package>_VERSION\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2970
full provided version string
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2971
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2972
.B \fB<package>_VERSION_MAJOR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2973
major version if provided, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2974
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2975
.B \fB<package>_VERSION_MINOR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2976
minor version if provided, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2977
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2978
.B \fB<package>_VERSION_PATCH\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2979
patch version if provided, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2980
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2981
.B \fB<package>_VERSION_TWEAK\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2982
tweak version if provided, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2983
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2984
.B \fB<package>_VERSION_COUNT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2985
number of version components, 0 to 4
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2986
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2987
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2988
and the corresponding package configuration file is loaded.  When
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2989
multiple package configuration files are available whose version files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2990
claim compatibility with the version requested it is unspecified which
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2991
one is chosen.  No attempt is made to choose a highest or closest
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2992
version number.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2993
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2994
Config mode provides an elaborate interface and search procedure.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2995
Much of the interface is provided for completeness and for use
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2996
internally by find\-modules loaded by Module mode.  Most user code
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2997
should simply call:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2998
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  2999
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3000
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3001
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3002
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3003
find_package(<package> [major[.minor]] [EXACT] [REQUIRED|QUIET])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3004
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3005
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3006
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3007
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3008
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3009
in order to find a package.  Package maintainers providing CMake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3010
package configuration files are encouraged to name and install them
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3011
such that the procedure outlined below will find them without
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3012
requiring use of additional options.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3013
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3014
CMake constructs a set of possible installation prefixes for the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3015
package.  Under each prefix several directories are searched for a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3016
configuration file.  The tables below show the directories searched.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3017
Each entry is meant for installation trees following Windows (W), UNIX
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3018
(U), or Apple (A) conventions:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3019
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3020
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3021
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3022
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3023
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3024
<prefix>/                                               (W)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3025
<prefix>/(cmake|CMake)/                                 (W)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3026
<prefix>/<name>*/                                       (W)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3027
<prefix>/<name>*/(cmake|CMake)/                         (W)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3028
<prefix>/(lib/<arch>|lib|share)/cmake/<name>*/          (U)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3029
<prefix>/(lib/<arch>|lib|share)/<name>*/                (U)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3030
<prefix>/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/  (U)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3031
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3032
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3033
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3034
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3035
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3036
On systems supporting OS X Frameworks and Application Bundles the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3037
following directories are searched for frameworks or bundles
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3038
containing a configuration file:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3039
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3040
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3041
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3042
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3043
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3044
<prefix>/<name>.framework/Resources/                    (A)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3045
<prefix>/<name>.framework/Resources/CMake/              (A)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3046
<prefix>/<name>.framework/Versions/*/Resources/         (A)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3047
<prefix>/<name>.framework/Versions/*/Resources/CMake/   (A)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3048
<prefix>/<name>.app/Contents/Resources/                 (A)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3049
<prefix>/<name>.app/Contents/Resources/CMake/           (A)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3050
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3051
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3052
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3053
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3054
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3055
In all cases the \fB<name>\fP is treated as case\-insensitive and corresponds
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3056
to any of the names specified (\fB<package>\fP or names given by \fBNAMES\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3057
Paths with \fBlib/<arch>\fP are enabled if the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3058
\fBCMAKE_LIBRARY_ARCHITECTURE\fP variable is set.  If \fBPATH_SUFFIXES\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3059
is specified the suffixes are appended to each (W) or (U) directory entry
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3060
one\-by\-one.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3061
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3062
This set of directories is intended to work in cooperation with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3063
projects that provide configuration files in their installation trees.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3064
Directories above marked with (W) are intended for installations on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3065
Windows where the prefix may point at the top of an application\(aqs
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3066
installation directory.  Those marked with (U) are intended for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3067
installations on UNIX platforms where the prefix is shared by multiple
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3068
packages.  This is merely a convention, so all (W) and (U) directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3069
are still searched on all platforms.  Directories marked with (A) are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3070
intended for installations on Apple platforms.  The cmake variables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3071
\fBCMAKE_FIND_FRAMEWORK\fP and \fBCMAKE_FIND_APPBUNDLE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3072
determine the order of preference as specified below.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3073
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3074
The set of installation prefixes is constructed using the following
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3075
steps.  If \fBNO_DEFAULT_PATH\fP is specified all \fBNO_*\fP options are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3076
enabled.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3077
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3078
.IP 1. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3079
Search paths specified in cmake\-specific cache variables.  These
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3080
are intended to be used on the command line with a \fB\-DVAR=value\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3081
This can be skipped if \fBNO_CMAKE_PATH\fP is passed:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3082
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3083
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3084
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3085
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3086
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3087
CMAKE_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3088
CMAKE_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3089
CMAKE_APPBUNDLE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3090
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3091
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3092
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3093
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3094
.IP 2. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3095
Search paths specified in cmake\-specific environment variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3096
These are intended to be set in the user\(aqs shell configuration.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3097
This can be skipped if \fBNO_CMAKE_ENVIRONMENT_PATH\fP is passed:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3098
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3099
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3100
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3101
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3102
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3103
<package>_DIR
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3104
CMAKE_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3105
CMAKE_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3106
CMAKE_APPBUNDLE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3107
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3108
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3109
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3110
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3111
.IP 3. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3112
Search paths specified by the \fBHINTS\fP option.  These should be paths
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3113
computed by system introspection, such as a hint provided by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3114
location of another item already found.  Hard\-coded guesses should
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3115
be specified with the \fBPATHS\fP option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3116
.IP 4. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3117
Search the standard system environment variables.  This can be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3118
skipped if \fBNO_SYSTEM_ENVIRONMENT_PATH\fP is passed.  Path entries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3119
ending in \fB/bin\fP or \fB/sbin\fP are automatically converted to their
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3120
parent directories:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3121
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3122
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3123
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3124
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3125
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3126
PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3127
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3128
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3129
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3130
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3131
.IP 5. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3132
Search paths stored in the CMake User Package Registry\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3133
This can be skipped if \fBNO_CMAKE_PACKAGE_REGISTRY\fP is passed or by
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3134
setting the \fBCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3135
to \fBTRUE\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3136
See the \fBcmake\-packages(7)\fP manual for details on the user
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3137
package registry.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3138
.IP 6. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3139
Search cmake variables defined in the Platform files for the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3140
current system.  This can be skipped if \fBNO_CMAKE_SYSTEM_PATH\fP is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3141
passed:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3142
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3143
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3144
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3145
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3146
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3147
CMAKE_SYSTEM_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3148
CMAKE_SYSTEM_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3149
CMAKE_SYSTEM_APPBUNDLE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3150
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3151
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3152
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3153
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3154
.IP 7. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3155
Search paths stored in the CMake System Package Registry\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3156
This can be skipped if \fBNO_CMAKE_SYSTEM_PACKAGE_REGISTRY\fP is passed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3157
or by setting the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3158
\fBCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY\fP to \fBTRUE\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3159
See the \fBcmake\-packages(7)\fP manual for details on the system
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3160
package registry.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3161
.IP 8. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3162
Search paths specified by the \fBPATHS\fP option.  These are typically
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3163
hard\-coded guesses.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3164
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3165
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3166
On Darwin or systems supporting OS X Frameworks, the cmake variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3167
CMAKE_FIND_FRAMEWORK can be set to empty or one of the following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3168
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3169
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3170
FIRST: Try to find frameworks before standard libraries or headers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3171
This is the default on Darwin.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3172
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3173
LAST: Try to find frameworks after standard libraries or headers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3174
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3175
ONLY: Only try to find frameworks.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3176
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3177
NEVER: Never try to find frameworks.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3178
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3179
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3180
On Darwin or systems supporting OS X Application Bundles, the cmake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3181
variable CMAKE_FIND_APPBUNDLE can be set to empty or one of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3182
following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3183
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3184
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3185
FIRST: Try to find application bundles before standard programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3186
This is the default on Darwin.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3187
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3188
LAST: Try to find application bundles after standard programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3189
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3190
ONLY: Only try to find application bundles.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3191
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3192
NEVER: Never try to find application bundles.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3193
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3194
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3195
The CMake variable \fBCMAKE_FIND_ROOT_PATH\fP specifies one or more
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3196
directories to be prepended to all other search directories.  This
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3197
effectively "re\-roots" the entire search under given locations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3198
Paths which are descendants of the \fBCMAKE_STAGING_PREFIX\fP are excluded
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3199
from this re\-rooting, because that variable is always a path on the host system.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3200
By default the \fBCMAKE_FIND_ROOT_PATH\fP is empty.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3201
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3202
The \fBCMAKE_SYSROOT\fP variable can also be used to specify exactly one
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3203
directory to use as a prefix.  Setting \fBCMAKE_SYSROOT\fP also has other
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3204
effects.  See the documentation for that variable for more.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3205
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3206
These variables are especially useful when cross\-compiling to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3207
point to the root directory of the target environment and CMake will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3208
search there too.  By default at first the directories listed in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3209
\fBCMAKE_FIND_ROOT_PATH\fP are searched, then the \fBCMAKE_SYSROOT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3210
directory is searched, and then the non\-rooted directories will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3211
searched.  The default behavior can be adjusted by setting
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3212
\fBCMAKE_FIND_ROOT_PATH_MODE_PACKAGE\fP\&.  This behavior can be manually
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3213
overridden on a per\-call basis.  By using CMAKE_FIND_ROOT_PATH_BOTH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3214
the search order will be as described above.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3215
NO_CMAKE_FIND_ROOT_PATH is used then \fBCMAKE_FIND_ROOT_PATH\fP will not be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3216
used.  If ONLY_CMAKE_FIND_ROOT_PATH is used then only the re\-rooted
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3217
directories and directories below \fBCMAKE_STAGING_PREFIX\fP will be searched.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3218
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3219
The default search order is designed to be most\-specific to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3220
least\-specific for common use cases.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3221
Projects may override the order by simply calling the command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3222
multiple times and using the \fBNO_*\fP options:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3223
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3224
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3225
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3226
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3227
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3228
find_package (<package> PATHS paths... NO_DEFAULT_PATH)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3229
find_package (<package>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3230
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3231
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3232
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3233
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3234
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3235
Once one of the calls succeeds the result variable will be set
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3236
and stored in the cache so that no call will search again.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3237
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3238
Every non\-REQUIRED \fBfind_package\fP call can be disabled by setting the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3239
\fBCMAKE_DISABLE_FIND_PACKAGE_<PackageName>\fP variable to \fBTRUE\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3240
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3241
When loading a find module or package configuration file \fBfind_package\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3242
defines variables to provide information about the call arguments (and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3243
restores their original state before returning):
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3244
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3245
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3246
.B \fBCMAKE_FIND_PACKAGE_NAME\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3247
the \fB<package>\fP name which is searched for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3248
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3249
.B \fB<package>_FIND_REQUIRED\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3250
true if \fBREQUIRED\fP option was given
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3251
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3252
.B \fB<package>_FIND_QUIETLY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3253
true if \fBQUIET\fP option was given
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3254
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3255
.B \fB<package>_FIND_VERSION\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3256
full requested version string
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3257
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3258
.B \fB<package>_FIND_VERSION_MAJOR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3259
major version if requested, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3260
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3261
.B \fB<package>_FIND_VERSION_MINOR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3262
minor version if requested, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3263
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3264
.B \fB<package>_FIND_VERSION_PATCH\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3265
patch version if requested, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3266
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3267
.B \fB<package>_FIND_VERSION_TWEAK\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3268
tweak version if requested, else 0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3269
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3270
.B \fB<package>_FIND_VERSION_COUNT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3271
number of version components, 0 to 4
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3272
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3273
.B \fB<package>_FIND_VERSION_EXACT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3274
true if \fBEXACT\fP option was given
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3275
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3276
.B \fB<package>_FIND_COMPONENTS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3277
list of requested components
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3278
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3279
.B \fB<package>_FIND_REQUIRED_<c>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3280
true if component \fB<c>\fP is required,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3281
false if component \fB<c>\fP is optional
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3282
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3283
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3284
In Module mode the loaded find module is responsible to honor the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3285
request detailed by these variables; see the find module for details.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3286
In Config mode \fBfind_package\fP handles \fBREQUIRED\fP, \fBQUIET\fP, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3287
\fB[version]\fP options automatically but leaves it to the package
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3288
configuration file to handle components in a way that makes sense
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3289
for the package.  The package configuration file may set
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3290
\fB<package>_FOUND\fP to false to tell \fBfind_package\fP that component
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3291
requirements are not satisfied.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3292
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3293
See the \fBcmake_policy()\fP command documentation for discussion
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3294
of the \fBNO_POLICY_SCOPE\fP option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3295
.SS find_path
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3296
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3297
A short\-hand signature is:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3298
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3299
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3300
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3301
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3302
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3303
find_path (<VAR> name1 [path1 path2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3304
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3305
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3306
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3307
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3308
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3309
The general signature is:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3310
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3311
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3312
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3313
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3314
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3315
find_path (
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3316
          <VAR>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3317
          name | NAMES name1 [name2 ...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3318
          [HINTS path1 [path2 ... ENV var]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3319
          [PATHS path1 [path2 ... ENV var]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3320
          [PATH_SUFFIXES suffix1 [suffix2 ...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3321
          [DOC "cache documentation string"]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3322
          [NO_DEFAULT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3323
          [NO_CMAKE_ENVIRONMENT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3324
          [NO_CMAKE_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3325
          [NO_SYSTEM_ENVIRONMENT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3326
          [NO_CMAKE_SYSTEM_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3327
          [CMAKE_FIND_ROOT_PATH_BOTH |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3328
           ONLY_CMAKE_FIND_ROOT_PATH |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3329
           NO_CMAKE_FIND_ROOT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3330
         )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3331
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3332
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3333
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3334
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3335
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3336
This command is used to find a directory containing the named file\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3337
A cache entry named by \fB<VAR>\fP is created to store the result
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3338
of this command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3339
If the file in a directory is found the result is stored in the variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3340
and the search will not be repeated unless the variable is cleared.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3341
If nothing is found, the result will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3342
\fB<VAR>\-NOTFOUND\fP, and the search will be attempted again the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3343
next time find_path is invoked with the same variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3344
The name of the file in a directory that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3345
is searched for is specified by the names listed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3346
after the NAMES argument.   Additional search locations
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3347
can be specified after the PATHS argument.  If ENV var is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3348
found in the HINTS or PATHS section the environment variable var
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3349
will be read and converted from a system environment variable to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3350
a cmake style list of paths.  For example ENV PATH would be a way
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3351
to list the system path variable. The argument
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3352
after DOC will be used for the documentation string in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3353
the cache.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3354
PATH_SUFFIXES specifies additional subdirectories to check below
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3355
each search path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3356
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3357
If NO_DEFAULT_PATH is specified, then no additional paths are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3358
added to the search.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3359
If NO_DEFAULT_PATH is not specified, the search process is as follows:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3360
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3361
.IP 1. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3362
Search paths specified in cmake\-specific cache variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3363
These are intended to be used on the command line with a \-DVAR=value.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3364
This can be skipped if NO_CMAKE_PATH is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3365
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3366
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3367
<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3368
<prefix>/include for each <prefix> in CMAKE_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3369
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3370
CMAKE_INCLUDE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3371
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3372
CMAKE_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3373
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3374
.IP 2. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3375
Search paths specified in cmake\-specific environment variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3376
These are intended to be set in the user\(aqs shell configuration.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3377
This can be skipped if NO_CMAKE_ENVIRONMENT_PATH is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3378
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3379
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3380
<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3381
<prefix>/include for each <prefix> in CMAKE_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3382
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3383
CMAKE_INCLUDE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3384
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3385
CMAKE_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3386
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3387
.IP 3. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3388
Search the paths specified by the HINTS option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3389
These should be paths computed by system introspection, such as a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3390
hint provided by the location of another item already found.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3391
Hard\-coded guesses should be specified with the PATHS option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3392
.IP 4. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3393
Search the standard system environment variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3394
This can be skipped if NO_SYSTEM_ENVIRONMENT_PATH is an argument.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3395
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3396
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3397
Directories in INCLUDE,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3398
<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3399
<prefix>/include for each <prefix>/[s]bin in PATH, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3400
<entry>/include for other entries in PATH,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3401
and the directories in PATH itself.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3402
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3403
.IP 5. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3404
Search cmake variables defined in the Platform files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3405
for the current system.  This can be skipped if NO_CMAKE_SYSTEM_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3406
is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3407
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3408
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3409
<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3410
<prefix>/include for each <prefix> in CMAKE_SYSTEM_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3411
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3412
CMAKE_SYSTEM_INCLUDE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3413
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3414
CMAKE_SYSTEM_FRAMEWORK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3415
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3416
.IP 6. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3417
Search the paths specified by the PATHS option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3418
or in the short\-hand version of the command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3419
These are typically hard\-coded guesses.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3420
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3421
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3422
On Darwin or systems supporting OS X Frameworks, the cmake variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3423
CMAKE_FIND_FRAMEWORK can be set to empty or one of the following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3424
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3425
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3426
FIRST: Try to find frameworks before standard libraries or headers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3427
This is the default on Darwin.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3428
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3429
LAST: Try to find frameworks after standard libraries or headers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3430
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3431
ONLY: Only try to find frameworks.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3432
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3433
NEVER: Never try to find frameworks.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3434
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3435
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3436
On Darwin or systems supporting OS X Application Bundles, the cmake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3437
variable CMAKE_FIND_APPBUNDLE can be set to empty or one of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3438
following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3439
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3440
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3441
FIRST: Try to find application bundles before standard programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3442
This is the default on Darwin.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3443
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3444
LAST: Try to find application bundles after standard programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3445
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3446
ONLY: Only try to find application bundles.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3447
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3448
NEVER: Never try to find application bundles.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3449
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3450
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3451
The CMake variable \fBCMAKE_FIND_ROOT_PATH\fP specifies one or more
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3452
directories to be prepended to all other search directories.  This
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3453
effectively "re\-roots" the entire search under given locations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3454
Paths which are descendants of the \fBCMAKE_STAGING_PREFIX\fP are excluded
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3455
from this re\-rooting, because that variable is always a path on the host system.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3456
By default the \fBCMAKE_FIND_ROOT_PATH\fP is empty.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3457
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3458
The \fBCMAKE_SYSROOT\fP variable can also be used to specify exactly one
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3459
directory to use as a prefix.  Setting \fBCMAKE_SYSROOT\fP also has other
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3460
effects.  See the documentation for that variable for more.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3461
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3462
These variables are especially useful when cross\-compiling to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3463
point to the root directory of the target environment and CMake will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3464
search there too.  By default at first the directories listed in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3465
\fBCMAKE_FIND_ROOT_PATH\fP are searched, then the \fBCMAKE_SYSROOT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3466
directory is searched, and then the non\-rooted directories will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3467
searched.  The default behavior can be adjusted by setting
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3468
\fBCMAKE_FIND_ROOT_PATH_MODE_INCLUDE\fP\&.  This behavior can be manually
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3469
overridden on a per\-call basis.  By using CMAKE_FIND_ROOT_PATH_BOTH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3470
the search order will be as described above.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3471
NO_CMAKE_FIND_ROOT_PATH is used then \fBCMAKE_FIND_ROOT_PATH\fP will not be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3472
used.  If ONLY_CMAKE_FIND_ROOT_PATH is used then only the re\-rooted
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3473
directories and directories below \fBCMAKE_STAGING_PREFIX\fP will be searched.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3474
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3475
The default search order is designed to be most\-specific to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3476
least\-specific for common use cases.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3477
Projects may override the order by simply calling the command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3478
multiple times and using the \fBNO_*\fP options:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3479
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3480
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3481
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3482
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3483
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3484
find_path (<VAR> NAMES name PATHS paths... NO_DEFAULT_PATH)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3485
find_path (<VAR> NAMES name)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3486
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3487
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3488
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3489
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3490
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3491
Once one of the calls succeeds the result variable will be set
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3492
and stored in the cache so that no call will search again.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3493
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3494
When searching for frameworks, if the file is specified as A/b.h, then
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3495
the framework search will look for A.framework/Headers/b.h.  If that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3496
is found the path will be set to the path to the framework.  CMake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3497
will convert this to the correct \-F option to include the file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3498
.SS find_program
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3499
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3500
A short\-hand signature is:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3501
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3502
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3503
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3504
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3505
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3506
find_program (<VAR> name1 [path1 path2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3507
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3508
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3509
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3510
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3511
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3512
The general signature is:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3513
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3514
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3515
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3516
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3517
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3518
find_program (
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3519
          <VAR>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3520
          name | NAMES name1 [name2 ...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3521
          [HINTS path1 [path2 ... ENV var]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3522
          [PATHS path1 [path2 ... ENV var]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3523
          [PATH_SUFFIXES suffix1 [suffix2 ...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3524
          [DOC "cache documentation string"]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3525
          [NO_DEFAULT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3526
          [NO_CMAKE_ENVIRONMENT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3527
          [NO_CMAKE_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3528
          [NO_SYSTEM_ENVIRONMENT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3529
          [NO_CMAKE_SYSTEM_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3530
          [CMAKE_FIND_ROOT_PATH_BOTH |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3531
           ONLY_CMAKE_FIND_ROOT_PATH |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3532
           NO_CMAKE_FIND_ROOT_PATH]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3533
         )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3534
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3535
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3536
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3537
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3538
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3539
This command is used to find a program\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3540
A cache entry named by \fB<VAR>\fP is created to store the result
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3541
of this command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3542
If the program is found the result is stored in the variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3543
and the search will not be repeated unless the variable is cleared.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3544
If nothing is found, the result will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3545
\fB<VAR>\-NOTFOUND\fP, and the search will be attempted again the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3546
next time find_program is invoked with the same variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3547
The name of the program that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3548
is searched for is specified by the names listed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3549
after the NAMES argument.   Additional search locations
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3550
can be specified after the PATHS argument.  If ENV var is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3551
found in the HINTS or PATHS section the environment variable var
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3552
will be read and converted from a system environment variable to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3553
a cmake style list of paths.  For example ENV PATH would be a way
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3554
to list the system path variable. The argument
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3555
after DOC will be used for the documentation string in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3556
the cache.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3557
PATH_SUFFIXES specifies additional subdirectories to check below
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3558
each search path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3559
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3560
If NO_DEFAULT_PATH is specified, then no additional paths are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3561
added to the search.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3562
If NO_DEFAULT_PATH is not specified, the search process is as follows:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3563
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3564
.IP 1. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3565
Search paths specified in cmake\-specific cache variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3566
These are intended to be used on the command line with a \-DVAR=value.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3567
This can be skipped if NO_CMAKE_PATH is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3568
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3569
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3570
<prefix>/[s]bin for each <prefix> in CMAKE_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3571
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3572
CMAKE_PROGRAM_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3573
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3574
CMAKE_APPBUNDLE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3575
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3576
.IP 2. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3577
Search paths specified in cmake\-specific environment variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3578
These are intended to be set in the user\(aqs shell configuration.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3579
This can be skipped if NO_CMAKE_ENVIRONMENT_PATH is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3580
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3581
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3582
<prefix>/[s]bin for each <prefix> in CMAKE_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3583
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3584
CMAKE_PROGRAM_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3585
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3586
CMAKE_APPBUNDLE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3587
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3588
.IP 3. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3589
Search the paths specified by the HINTS option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3590
These should be paths computed by system introspection, such as a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3591
hint provided by the location of another item already found.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3592
Hard\-coded guesses should be specified with the PATHS option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3593
.IP 4. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3594
Search the standard system environment variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3595
This can be skipped if NO_SYSTEM_ENVIRONMENT_PATH is an argument.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3596
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3597
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3598
PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3599
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3600
.IP 5. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3601
Search cmake variables defined in the Platform files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3602
for the current system.  This can be skipped if NO_CMAKE_SYSTEM_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3603
is passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3604
.INDENT 3.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3605
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3606
<prefix>/[s]bin for each <prefix> in CMAKE_SYSTEM_PREFIX_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3607
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3608
CMAKE_SYSTEM_PROGRAM_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3609
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3610
CMAKE_SYSTEM_APPBUNDLE_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3611
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3612
.IP 6. 3
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3613
Search the paths specified by the PATHS option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3614
or in the short\-hand version of the command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3615
These are typically hard\-coded guesses.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3616
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3617
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3618
On Darwin or systems supporting OS X Frameworks, the cmake variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3619
CMAKE_FIND_FRAMEWORK can be set to empty or one of the following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3620
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3621
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3622
FIRST: Try to find frameworks before standard libraries or headers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3623
This is the default on Darwin.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3624
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3625
LAST: Try to find frameworks after standard libraries or headers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3626
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3627
ONLY: Only try to find frameworks.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3628
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3629
NEVER: Never try to find frameworks.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3630
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3631
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3632
On Darwin or systems supporting OS X Application Bundles, the cmake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3633
variable CMAKE_FIND_APPBUNDLE can be set to empty or one of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3634
following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3635
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3636
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3637
FIRST: Try to find application bundles before standard programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3638
This is the default on Darwin.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3639
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3640
LAST: Try to find application bundles after standard programs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3641
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3642
ONLY: Only try to find application bundles.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3643
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3644
NEVER: Never try to find application bundles.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3645
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3646
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3647
The CMake variable \fBCMAKE_FIND_ROOT_PATH\fP specifies one or more
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3648
directories to be prepended to all other search directories.  This
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3649
effectively "re\-roots" the entire search under given locations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3650
Paths which are descendants of the \fBCMAKE_STAGING_PREFIX\fP are excluded
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3651
from this re\-rooting, because that variable is always a path on the host system.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3652
By default the \fBCMAKE_FIND_ROOT_PATH\fP is empty.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3653
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3654
The \fBCMAKE_SYSROOT\fP variable can also be used to specify exactly one
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3655
directory to use as a prefix.  Setting \fBCMAKE_SYSROOT\fP also has other
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3656
effects.  See the documentation for that variable for more.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3657
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3658
These variables are especially useful when cross\-compiling to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3659
point to the root directory of the target environment and CMake will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3660
search there too.  By default at first the directories listed in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3661
\fBCMAKE_FIND_ROOT_PATH\fP are searched, then the \fBCMAKE_SYSROOT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3662
directory is searched, and then the non\-rooted directories will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3663
searched.  The default behavior can be adjusted by setting
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3664
\fBCMAKE_FIND_ROOT_PATH_MODE_PROGRAM\fP\&.  This behavior can be manually
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3665
overridden on a per\-call basis.  By using CMAKE_FIND_ROOT_PATH_BOTH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3666
the search order will be as described above.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3667
NO_CMAKE_FIND_ROOT_PATH is used then \fBCMAKE_FIND_ROOT_PATH\fP will not be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3668
used.  If ONLY_CMAKE_FIND_ROOT_PATH is used then only the re\-rooted
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3669
directories and directories below \fBCMAKE_STAGING_PREFIX\fP will be searched.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3670
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3671
The default search order is designed to be most\-specific to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3672
least\-specific for common use cases.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3673
Projects may override the order by simply calling the command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3674
multiple times and using the \fBNO_*\fP options:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3675
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3676
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3677
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3678
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3679
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3680
find_program (<VAR> NAMES name PATHS paths... NO_DEFAULT_PATH)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3681
find_program (<VAR> NAMES name)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3682
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3683
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3684
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3685
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3686
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3687
Once one of the calls succeeds the result variable will be set
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3688
and stored in the cache so that no call will search again.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3689
.SS fltk_wrap_ui
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3690
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3691
Create FLTK user interfaces Wrappers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3692
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3693
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3694
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3695
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3696
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3697
fltk_wrap_ui(resultingLibraryName source1
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3698
             source2 ... sourceN )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3699
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3700
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3701
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3702
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3703
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3704
Produce .h and .cxx files for all the .fl and .fld files listed.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3705
resulting .h and .cxx files will be added to a variable named
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3706
resultingLibraryName_FLTK_UI_SRCS which should be added to your
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3707
library.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3708
.SS foreach
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3709
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3710
Evaluate a group of commands for each value in a list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3711
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3712
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3713
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3714
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3715
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3716
foreach(loop_var arg1 arg2 ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3717
  COMMAND1(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3718
  COMMAND2(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3719
  ...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3720
endforeach(loop_var)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3721
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3722
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3723
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3724
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3725
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3726
All commands between foreach and the matching endforeach are recorded
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3727
without being invoked.  Once the endforeach is evaluated, the recorded
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3728
list of commands is invoked once for each argument listed in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3729
original foreach command.  Before each iteration of the loop
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3730
"${loop_var}" will be set as a variable with the current value in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3731
list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3732
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3733
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3734
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3735
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3736
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3737
foreach(loop_var RANGE total)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3738
foreach(loop_var RANGE start stop [step])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3739
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3740
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3741
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3742
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3743
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3744
Foreach can also iterate over a generated range of numbers.  There are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3745
three types of this iteration:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3746
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3747
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3748
When specifying single number, the range will have elements 0 to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3749
"total".
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3750
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3751
When specifying two numbers, the range will have elements from the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3752
first number to the second number.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3753
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3754
The third optional number is the increment used to iterate from the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3755
first number to the second number.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3756
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3757
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3758
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3759
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3760
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3761
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3762
foreach(loop_var IN [LISTS [list1 [...]]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3763
                    [ITEMS [item1 [...]]])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3764
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3765
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3766
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3767
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3768
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3769
Iterates over a precise list of items.  The LISTS option names
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3770
list\-valued variables to be traversed, including empty elements (an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3771
empty string is a zero\-length list).  (Note macro
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3772
arguments are not variables.)  The ITEMS option ends argument
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3773
parsing and includes all arguments following it in the iteration.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3774
.SS function
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3775
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3776
Start recording a function for later invocation as a command:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3777
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3778
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3779
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3780
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3781
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3782
function(<name> [arg1 [arg2 [arg3 ...]]])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3783
  COMMAND1(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3784
  COMMAND2(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3785
  ...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3786
endfunction(<name>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3787
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3788
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3789
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3790
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3791
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3792
Define a function named \fB<name>\fP that takes arguments named \fBarg1\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3793
\fBarg2\fP, \fBarg3\fP, (...).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3794
Commands listed after function, but before the matching
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3795
\fBendfunction()\fP, are not invoked until the function is invoked.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3796
When it is invoked, the commands recorded in the function are first
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3797
modified by replacing formal parameters (\fB${arg1}\fP) with the arguments
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3798
passed, and then invoked as normal commands.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3799
In addition to referencing the formal parameters you can reference the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3800
\fBARGC\fP variable which will be set to the number of arguments passed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3801
into the function as well as \fBARGV0\fP, \fBARGV1\fP, \fBARGV2\fP, ...  which
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3802
will have the actual values of the arguments passed in.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3803
This facilitates creating functions with optional arguments.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3804
Additionally \fBARGV\fP holds the list of all arguments given to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3805
function and \fBARGN\fP holds the list of arguments past the last expected
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3806
argument.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3807
Referencing to \fBARGV#\fP arguments beyond \fBARGC\fP have undefined
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3808
behavior. Checking that \fBARGC\fP is greater than \fB#\fP is the only way
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3809
to ensure that \fBARGV#\fP was passed to the function as an extra
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3810
argument.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3811
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3812
A function opens a new scope: see \fBset(var PARENT_SCOPE)\fP for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3813
details.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3814
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3815
See the \fBcmake_policy()\fP command documentation for the behavior
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3816
of policies inside functions.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3817
.SS get_cmake_property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3818
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3819
Get a property of the CMake instance.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3820
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3821
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3822
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3823
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3824
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3825
get_cmake_property(VAR property)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3826
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3827
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3828
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3829
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3830
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3831
Get a property from the CMake instance.  The value of the property is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3832
stored in the variable VAR.  If the property is not found, VAR will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3833
set to "NOTFOUND".  Some supported properties include: VARIABLES,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3834
CACHE_VARIABLES, COMMANDS, MACROS, and COMPONENTS.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3835
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3836
See also the more general get_property() command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3837
.SS get_directory_property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3838
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3839
Get a property of DIRECTORY scope.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3840
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3841
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3842
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3843
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3844
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3845
get_directory_property(<variable> [DIRECTORY <dir>] <prop\-name>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3846
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3847
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3848
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3849
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3850
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3851
Store a property of directory scope in the named variable.  If the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3852
property is not defined the empty\-string is returned.  The DIRECTORY
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3853
argument specifies another directory from which to retrieve the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3854
property value.  The specified directory must have already been
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3855
traversed by CMake.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3856
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3857
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3858
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3859
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3860
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3861
get_directory_property(<variable> [DIRECTORY <dir>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3862
                       DEFINITION <var\-name>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3863
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3864
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3865
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3866
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3867
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3868
Get a variable definition from a directory.  This form is useful to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3869
get a variable definition from another directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3870
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3871
See also the more general get_property() command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3872
.SS get_filename_component
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3873
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3874
Get a specific component of a full filename.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3875
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3876
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3877
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3878
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3879
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3880
get_filename_component(<VAR> <FileName> <COMP> [CACHE])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3881
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3882
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3883
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3884
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3885
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3886
Set <VAR> to a component of <FileName>, where <COMP> is one of:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3887
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3888
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3889
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3890
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3891
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3892
DIRECTORY = Directory without file name
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3893
NAME      = File name without directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3894
EXT       = File name longest extension (.b.c from d/a.b.c)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3895
NAME_WE   = File name without directory or longest extension
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3896
ABSOLUTE  = Full path to file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3897
REALPATH  = Full path to existing file with symlinks resolved
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3898
PATH      = Legacy alias for DIRECTORY (use for CMake <= 2.8.11)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3899
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3900
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3901
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3902
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3903
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3904
Paths are returned with forward slashes and have no trailing slahes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3905
The longest file extension is always considered.  If the optional
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3906
CACHE argument is specified, the result variable is added to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3907
cache.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3908
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3909
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3910
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3911
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3912
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3913
get_filename_component(<VAR> FileName
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3914
                       PROGRAM [PROGRAM_ARGS <ARG_VAR>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3915
                       [CACHE])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3916
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3917
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3918
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3919
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3920
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3921
The program in FileName will be found in the system search path or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3922
left as a full path.  If PROGRAM_ARGS is present with PROGRAM, then
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3923
any command\-line arguments present in the FileName string are split
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3924
from the program name and stored in <ARG_VAR>.  This is used to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3925
separate a program name from its arguments in a command line string.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3926
.SS get_property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3927
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3928
Get a property.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3929
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3930
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3931
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3932
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3933
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3934
get_property(<variable>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3935
             <GLOBAL             |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3936
              DIRECTORY [dir]    |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3937
              TARGET    <target> |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3938
              SOURCE    <source> |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3939
              INSTALL   <file>   |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3940
              TEST      <test>   |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3941
              CACHE     <entry>  |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3942
              VARIABLE>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3943
             PROPERTY <name>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3944
             [SET | DEFINED | BRIEF_DOCS | FULL_DOCS])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3945
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3946
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3947
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3948
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3949
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3950
Get one property from one object in a scope.  The first argument
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3951
specifies the variable in which to store the result.  The second
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3952
argument determines the scope from which to get the property.  It must
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3953
be one of the following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3954
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3955
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3956
.B \fBGLOBAL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3957
Scope is unique and does not accept a name.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3958
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3959
.B \fBDIRECTORY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3960
Scope defaults to the current directory but another
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3961
directory (already processed by CMake) may be named by full or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3962
relative path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3963
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3964
.B \fBTARGET\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3965
Scope must name one existing target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3966
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3967
.B \fBSOURCE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3968
Scope must name one source file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3969
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3970
.B \fBINSTALL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3971
Scope must name one installed file path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3972
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3973
.B \fBTEST\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3974
Scope must name one existing test.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3975
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3976
.B \fBCACHE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3977
Scope must name one cache entry.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3978
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3979
.B \fBVARIABLE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3980
Scope is unique and does not accept a name.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3981
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3982
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3983
The required \fBPROPERTY\fP option is immediately followed by the name of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3984
the property to get.  If the property is not set an empty value is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3985
returned.  If the \fBSET\fP option is given the variable is set to a boolean
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3986
value indicating whether the property has been set.  If the \fBDEFINED\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3987
option is given the variable is set to a boolean value indicating
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3988
whether the property has been defined such as with the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3989
\fBdefine_property()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3990
If \fBBRIEF_DOCS\fP or \fBFULL_DOCS\fP is given then the variable is set to a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3991
string containing documentation for the requested property.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3992
documentation is requested for a property that has not been defined
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3993
\fBNOTFOUND\fP is returned.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3994
.SS get_source_file_property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3995
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3996
Get a property for a source file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3997
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3998
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  3999
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4000
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4001
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4002
get_source_file_property(VAR file property)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4003
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4004
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4005
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4006
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4007
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4008
Get a property from a source file.  The value of the property is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4009
stored in the variable VAR.  If the property is not found, VAR will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4010
set to "NOTFOUND".  Use set_source_files_properties to set property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4011
values.  Source file properties usually control how the file is built.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4012
One property that is always there is LOCATION
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4013
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4014
See also the more general get_property() command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4015
.SS get_target_property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4016
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4017
Get a property from a target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4018
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4019
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4020
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4021
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4022
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4023
get_target_property(VAR target property)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4024
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4025
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4026
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4027
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4028
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4029
Get a property from a target.  The value of the property is stored in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4030
the variable VAR.  If the property is not found, VAR will be set to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4031
"NOTFOUND".  Use set_target_properties to set property values.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4032
Properties are usually used to control how a target is built, but some
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4033
query the target instead.  This command can get properties for any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4034
target so far created.  The targets do not need to be in the current
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4035
CMakeLists.txt file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4036
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4037
See also the more general get_property() command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4038
.SS get_test_property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4039
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4040
Get a property of the test.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4041
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4042
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4043
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4044
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4045
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4046
get_test_property(test property VAR)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4047
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4048
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4049
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4050
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4051
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4052
Get a property from the test.  The value of the property is stored in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4053
the variable VAR.  If the test or property is not found, VAR will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4054
set to "NOTFOUND".  For a list of standard properties you can type cmake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4055
\-\-help\-property\-list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4056
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4057
See also the more general get_property() command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4058
.SS if
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4059
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4060
Conditionally execute a group of commands.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4061
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4062
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4063
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4064
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4065
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4066
if(expression)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4067
  # then section.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4068
  COMMAND1(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4069
  COMMAND2(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4070
  ...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4071
elseif(expression2)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4072
  # elseif section.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4073
  COMMAND1(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4074
  COMMAND2(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4075
  ...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4076
else(expression)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4077
  # else section.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4078
  COMMAND1(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4079
  COMMAND2(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4080
  ...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4081
endif(expression)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4082
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4083
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4084
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4085
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4086
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4087
Evaluates the given expression.  If the result is true, the commands
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4088
in the THEN section are invoked.  Otherwise, the commands in the else
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4089
section are invoked.  The elseif and else sections are optional.  You
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4090
may have multiple elseif clauses.  Note that the expression in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4091
else and endif clause is optional.  Long expressions can be used and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4092
there is a traditional order of precedence.  Parenthetical expressions
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4093
are evaluated first followed by unary tests such as \fBEXISTS\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4094
\fBCOMMAND\fP, and \fBDEFINED\fP\&.  Then any binary tests such as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4095
\fBEQUAL\fP, \fBLESS\fP, \fBGREATER\fP, \fBSTRLESS\fP, \fBSTRGREATER\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4096
\fBSTREQUAL\fP, and \fBMATCHES\fP will be evaluated.  Then boolean \fBNOT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4097
operators and finally boolean \fBAND\fP and then \fBOR\fP operators will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4098
be evaluated.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4099
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4100
Possible expressions are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4101
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4102
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4103
.B \fBif(<constant>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4104
True if the constant is \fB1\fP, \fBON\fP, \fBYES\fP, \fBTRUE\fP, \fBY\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4105
or a non\-zero number.  False if the constant is \fB0\fP, \fBOFF\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4106
\fBNO\fP, \fBFALSE\fP, \fBN\fP, \fBIGNORE\fP, \fBNOTFOUND\fP, the empty string,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4107
or ends in the suffix \fB\-NOTFOUND\fP\&.  Named boolean constants are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4108
case\-insensitive.  If the argument is not one of these specific
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4109
constants, it is treated as a variable or string and the following
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4110
signature is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4111
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4112
.B \fBif(<variable|string>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4113
True if given a variable that is defined to a value that is not a false
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4114
constant.  False otherwise.  (Note macro arguments are not variables.)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4115
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4116
.B \fBif(NOT <expression>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4117
True if the expression is not true.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4118
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4119
.B \fBif(<expr1> AND <expr2>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4120
True if both expressions would be considered true individually.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4121
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4122
.B \fBif(<expr1> OR <expr2>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4123
True if either expression would be considered true individually.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4124
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4125
.B \fBif(COMMAND command\-name)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4126
True if the given name is a command, macro or function that can be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4127
invoked.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4128
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4129
.B \fBif(POLICY policy\-id)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4130
True if the given name is an existing policy (of the form \fBCMP<NNNN>\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4131
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4132
.B \fBif(TARGET target\-name)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4133
True if the given name is an existing logical target name such as those
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4134
created by the \fBadd_executable()\fP, \fBadd_library()\fP, or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4135
\fBadd_custom_target()\fP commands.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4136
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4137
.B \fBif(EXISTS path\-to\-file\-or\-directory)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4138
True if the named file or directory exists.  Behavior is well\-defined
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4139
only for full paths.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4140
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4141
.B \fBif(file1 IS_NEWER_THAN file2)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4142
True if file1 is newer than file2 or if one of the two files doesn\(aqt
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4143
exist.  Behavior is well\-defined only for full paths.  If the file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4144
time stamps are exactly the same, an \fBIS_NEWER_THAN\fP comparison returns
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4145
true, so that any dependent build operations will occur in the event
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4146
of a tie.  This includes the case of passing the same file name for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4147
both file1 and file2.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4148
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4149
.B \fBif(IS_DIRECTORY path\-to\-directory)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4150
True if the given name is a directory.  Behavior is well\-defined only
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4151
for full paths.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4152
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4153
.B \fBif(IS_SYMLINK file\-name)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4154
True if the given name is a symbolic link.  Behavior is well\-defined
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4155
only for full paths.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4156
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4157
.B \fBif(IS_ABSOLUTE path)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4158
True if the given path is an absolute path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4159
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4160
.B \fBif(<variable|string> MATCHES regex)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4161
True if the given string or variable\(aqs value matches the given regular
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4162
expression.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4163
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4164
.B \fBif(<variable|string> LESS <variable|string>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4165
True if the given string or variable\(aqs value is a valid number and less
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4166
than that on the right.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4167
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4168
.B \fBif(<variable|string> GREATER <variable|string>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4169
True if the given string or variable\(aqs value is a valid number and greater
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4170
than that on the right.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4171
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4172
.B \fBif(<variable|string> EQUAL <variable|string>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4173
True if the given string or variable\(aqs value is a valid number and equal
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4174
to that on the right.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4175
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4176
.B \fBif(<variable|string> STRLESS <variable|string>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4177
True if the given string or variable\(aqs value is lexicographically less
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4178
than the string or variable on the right.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4179
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4180
.B \fBif(<variable|string> STRGREATER <variable|string>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4181
True if the given string or variable\(aqs value is lexicographically greater
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4182
than the string or variable on the right.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4183
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4184
.B \fBif(<variable|string> STREQUAL <variable|string>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4185
True if the given string or variable\(aqs value is lexicographically equal
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4186
to the string or variable on the right.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4187
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4188
.B \fBif(<variable|string> VERSION_LESS <variable|string>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4189
Component\-wise integer version number comparison (version format is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4190
\fBmajor[.minor[.patch[.tweak]]]\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4191
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4192
.B \fBif(<variable|string> VERSION_EQUAL <variable|string>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4193
Component\-wise integer version number comparison (version format is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4194
\fBmajor[.minor[.patch[.tweak]]]\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4195
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4196
.B \fBif(<variable|string> VERSION_GREATER <variable|string>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4197
Component\-wise integer version number comparison (version format is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4198
\fBmajor[.minor[.patch[.tweak]]]\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4199
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4200
.B \fBif(<variable|string> IN_LIST <variable>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4201
True if the given element is contained in the named list variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4202
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4203
.B \fBif(DEFINED <variable>)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4204
True if the given variable is defined.  It does not matter if the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4205
variable is true or false just if it has been set.  (Note macro
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4206
arguments are not variables.)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4207
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4208
.B \fBif((expression) AND (expression OR (expression)))\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4209
The expressions inside the parenthesis are evaluated first and then
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4210
the remaining expression is evaluated as in the previous examples.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4211
Where there are nested parenthesis the innermost are evaluated as part
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4212
of evaluating the expression that contains them.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4213
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4214
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4215
The if command was written very early in CMake\(aqs history, predating
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4216
the \fB${}\fP variable evaluation syntax, and for convenience evaluates
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4217
variables named by its arguments as shown in the above signatures.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4218
Note that normal variable evaluation with \fB${}\fP applies before the if
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4219
command even receives the arguments.  Therefore code like:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4220
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4221
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4222
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4223
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4224
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4225
set(var1 OFF)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4226
set(var2 "var1")
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4227
if(${var2})
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4228
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4229
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4230
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4231
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4232
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4233
appears to the if command as:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4234
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4235
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4236
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4237
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4238
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4239
if(var1)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4240
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4241
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4242
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4243
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4244
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4245
and is evaluated according to the \fBif(<variable>)\fP case documented
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4246
above.  The result is \fBOFF\fP which is false.  However, if we remove the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4247
\fB${}\fP from the example then the command sees:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4248
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4249
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4250
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4251
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4252
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4253
if(var2)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4254
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4255
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4256
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4257
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4258
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4259
which is true because \fBvar2\fP is defined to "var1" which is not a false
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4260
constant.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4261
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4262
Automatic evaluation applies in the other cases whenever the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4263
above\-documented signature accepts \fB<variable|string>\fP:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4264
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4265
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4266
The left hand argument to \fBMATCHES\fP is first checked to see if it is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4267
a defined variable, if so the variable\(aqs value is used, otherwise the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4268
original value is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4269
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4270
If the left hand argument to \fBMATCHES\fP is missing it returns false
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4271
without error
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4272
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4273
Both left and right hand arguments to \fBLESS\fP, \fBGREATER\fP, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4274
\fBEQUAL\fP are independently tested to see if they are defined
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4275
variables, if so their defined values are used otherwise the original
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4276
value is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4277
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4278
Both left and right hand arguments to \fBSTRLESS\fP, \fBSTREQUAL\fP, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4279
\fBSTRGREATER\fP are independently tested to see if they are defined
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4280
variables, if so their defined values are used otherwise the original
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4281
value is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4282
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4283
Both left and right hand arguments to \fBVERSION_LESS\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4284
\fBVERSION_EQUAL\fP, and \fBVERSION_GREATER\fP are independently tested
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4285
to see if they are defined variables, if so their defined values are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4286
used otherwise the original value is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4287
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4288
The right hand argument to \fBNOT\fP is tested to see if it is a boolean
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4289
constant, if so the value is used, otherwise it is assumed to be a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4290
variable and it is dereferenced.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4291
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4292
The left and right hand arguments to \fBAND\fP and \fBOR\fP are independently
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4293
tested to see if they are boolean constants, if so they are used as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4294
such, otherwise they are assumed to be variables and are dereferenced.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4295
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4296
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4297
To prevent ambiguity, potential variable or keyword names can be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4298
specified in a Quoted Argument or a Bracket Argument\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4299
A quoted or bracketed variable or keyword will be interpreted as a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4300
string and not dereferenced or interpreted.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4301
See policy \fBCMP0054\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4302
.SS include_directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4303
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4304
Add include directories to the build.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4305
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4306
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4307
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4308
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4309
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4310
include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4311
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4312
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4313
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4314
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4315
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4316
Add the given directories to those the compiler uses to search for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4317
include files.  Relative paths are interpreted as relative to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4318
current source directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4319
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4320
The include directories are added to the \fBINCLUDE_DIRECTORIES\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4321
directory property for the current \fBCMakeLists\fP file.  They are also
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4322
added to the \fBINCLUDE_DIRECTORIES\fP target property for each
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4323
target in the current \fBCMakeLists\fP file.  The target property values
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4324
are the ones used by the generators.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4325
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4326
By default the directories specified are appended onto the current list of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4327
directories.  This default behavior can be changed by setting
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4328
\fBCMAKE_INCLUDE_DIRECTORIES_BEFORE\fP to \fBON\fP\&.  By using
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4329
\fBAFTER\fP or \fBBEFORE\fP explicitly, you can select between appending and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4330
prepending, independent of the default.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4331
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4332
If the \fBSYSTEM\fP option is given, the compiler will be told the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4333
directories are meant as system include directories on some platforms.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4334
Signalling this setting might achieve effects such as the compiler
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4335
skipping warnings, or these fixed\-install system files not being
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4336
considered in dependency calculations \- see compiler docs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4337
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4338
Arguments to \fBinclude_directories\fP may use "generator expressions" with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4339
the syntax "$<...>".  See the \fBcmake\-generator\-expressions(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4340
manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4341
manual for more on defining buildsystem properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4342
.SS include_external_msproject
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4343
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4344
Include an external Microsoft project file in a workspace.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4345
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4346
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4347
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4348
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4349
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4350
include_external_msproject(projectname location
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4351
                           [TYPE projectTypeGUID]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4352
                           [GUID projectGUID]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4353
                           [PLATFORM platformName]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4354
                           dep1 dep2 ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4355
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4356
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4357
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4358
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4359
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4360
Includes an external Microsoft project in the generated workspace
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4361
file.  Currently does nothing on UNIX.  This will create a target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4362
named [projectname].  This can be used in the add_dependencies command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4363
to make things depend on the external project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4364
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4365
TYPE, GUID and PLATFORM are optional parameters that allow one to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4366
specify the type of project, id (GUID) of the project and the name of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4367
the target platform.  This is useful for projects requiring values
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4368
other than the default (e.g.  WIX projects).  These options are not
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4369
supported by the Visual Studio 6 generator.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4370
.SS include_regular_expression
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4371
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4372
Set the regular expression used for dependency checking.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4373
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4374
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4375
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4376
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4377
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4378
include_regular_expression(regex_match [regex_complain])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4379
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4380
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4381
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4382
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4383
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4384
Set the regular expressions used in dependency checking.  Only files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4385
matching regex_match will be traced as dependencies.  Only files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4386
matching regex_complain will generate warnings if they cannot be found
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4387
(standard header paths are not searched).  The defaults are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4388
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4389
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4390
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4391
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4392
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4393
regex_match    = "^.*$" (match everything)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4394
regex_complain = "^$" (match empty string only)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4395
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4396
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4397
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4398
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4399
.SS include
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4400
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4401
Load and run CMake code from a file or module.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4402
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4403
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4404
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4405
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4406
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4407
include(<file|module> [OPTIONAL] [RESULT_VARIABLE <VAR>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4408
                      [NO_POLICY_SCOPE])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4409
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4410
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4411
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4412
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4413
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4414
Load and run CMake code from the file given.  Variable reads and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4415
writes access the scope of the caller (dynamic scoping).  If OPTIONAL
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4416
is present, then no error is raised if the file does not exist.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4417
RESULT_VARIABLE is given the variable will be set to the full filename
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4418
which has been included or NOTFOUND if it failed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4419
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4420
If a module is specified instead of a file, the file with name
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4421
<modulename>.cmake is searched first in CMAKE_MODULE_PATH, then in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4422
CMake module directory.  There is one exception to this: if the file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4423
which calls include() is located itself in the CMake module directory,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4424
then first the CMake module directory is searched and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4425
CMAKE_MODULE_PATH afterwards.  See also policy CMP0017.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4426
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4427
See the cmake_policy() command documentation for discussion of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4428
NO_POLICY_SCOPE option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4429
.SS install
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4430
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4431
Specify rules to run at install time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4432
.SS Introduction
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4433
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4434
This command generates installation rules for a project.  Rules
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4435
specified by calls to this command within a source directory are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4436
executed in order during installation.  The order across directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4437
is not defined.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4438
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4439
There are multiple signatures for this command.  Some of them define
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4440
installation options for files and targets.  Options common to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4441
multiple signatures are covered here but they are valid only for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4442
signatures that specify them.  The common options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4443
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4444
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4445
.B \fBDESTINATION\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4446
Specify the directory on disk to which a file will be installed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4447
If a full path (with a leading slash or drive letter) is given
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4448
it is used directly.  If a relative path is given it is interpreted
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4449
relative to the value of the \fBCMAKE_INSTALL_PREFIX\fP variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4450
The prefix can be relocated at install time using the \fBDESTDIR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4451
mechanism explained in the \fBCMAKE_INSTALL_PREFIX\fP variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4452
documentation.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4453
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4454
.B \fBPERMISSIONS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4455
Specify permissions for installed files.  Valid permissions are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4456
\fBOWNER_READ\fP, \fBOWNER_WRITE\fP, \fBOWNER_EXECUTE\fP, \fBGROUP_READ\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4457
\fBGROUP_WRITE\fP, \fBGROUP_EXECUTE\fP, \fBWORLD_READ\fP, \fBWORLD_WRITE\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4458
\fBWORLD_EXECUTE\fP, \fBSETUID\fP, and \fBSETGID\fP\&.  Permissions that do
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4459
not make sense on certain platforms are ignored on those platforms.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4460
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4461
.B \fBCONFIGURATIONS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4462
Specify a list of build configurations for which the install rule
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4463
applies (Debug, Release, etc.).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4464
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4465
.B \fBCOMPONENT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4466
Specify an installation component name with which the install rule
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4467
is associated, such as "runtime" or "development".  During
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4468
component\-specific installation only install rules associated with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4469
the given component name will be executed.  During a full installation
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4470
all components are installed.  If \fBCOMPONENT\fP is not provided a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4471
default component "Unspecified" is created.  The default component
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4472
name may be controlled with the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4473
\fBCMAKE_INSTALL_DEFAULT_COMPONENT_NAME\fP variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4474
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4475
.B \fBRENAME\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4476
Specify a name for an installed file that may be different from the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4477
original file.  Renaming is allowed only when a single file is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4478
installed by the command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4479
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4480
.B \fBOPTIONAL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4481
Specify that it is not an error if the file to be installed does
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4482
not exist.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4483
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4484
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4485
Command signatures that install files may print messages during
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4486
installation.  Use the \fBCMAKE_INSTALL_MESSAGE\fP variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4487
to control which messages are printed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4488
.SS Installing Targets
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4489
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4490
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4491
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4492
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4493
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4494
install(TARGETS targets... [EXPORT <export\-name>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4495
        [[ARCHIVE|LIBRARY|RUNTIME|FRAMEWORK|BUNDLE|
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4496
          PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4497
         [DESTINATION <dir>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4498
         [INCLUDES DESTINATION [<dir> ...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4499
         [PERMISSIONS permissions...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4500
         [CONFIGURATIONS [Debug|Release|...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4501
         [COMPONENT <component>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4502
         [OPTIONAL] [NAMELINK_ONLY|NAMELINK_SKIP]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4503
        ] [...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4504
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4505
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4506
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4507
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4508
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4509
The \fBTARGETS\fP form specifies rules for installing targets from a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4510
project.  There are five kinds of target files that may be installed:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4511
\fBARCHIVE\fP, \fBLIBRARY\fP, \fBRUNTIME\fP, \fBFRAMEWORK\fP, and \fBBUNDLE\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4512
Executables are treated as \fBRUNTIME\fP targets, except that those
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4513
marked with the \fBMACOSX_BUNDLE\fP property are treated as \fBBUNDLE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4514
targets on OS X.  Static libraries are always treated as \fBARCHIVE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4515
targets.  Module libraries are always treated as \fBLIBRARY\fP targets.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4516
For non\-DLL platforms shared libraries are treated as \fBLIBRARY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4517
targets, except that those marked with the \fBFRAMEWORK\fP property are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4518
treated as \fBFRAMEWORK\fP targets on OS X.  For DLL platforms the DLL
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4519
part of a shared library is treated as a \fBRUNTIME\fP target and the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4520
corresponding import library is treated as an \fBARCHIVE\fP target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4521
All Windows\-based systems including Cygwin are DLL platforms.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4522
The \fBARCHIVE\fP, \fBLIBRARY\fP, \fBRUNTIME\fP, and \fBFRAMEWORK\fP arguments
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4523
change the type of target to which the subsequent properties apply.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4524
If none is given the installation properties apply to all target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4525
types.  If only one is given then only targets of that type will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4526
installed (which can be used to install just a DLL or just an import
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4527
library).  The \fBINCLUDES DESTINATION\fP specifies a list of directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4528
which will be added to the \fBINTERFACE_INCLUDE_DIRECTORIES\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4529
target property of the \fB<targets>\fP when exported by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4530
\fI\%install(EXPORT)\fP command.  If a relative path is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4531
specified, it is treated as relative to the \fB$<INSTALL_PREFIX>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4532
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4533
The \fBPRIVATE_HEADER\fP, \fBPUBLIC_HEADER\fP, and \fBRESOURCE\fP arguments
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4534
cause subsequent properties to be applied to installing a \fBFRAMEWORK\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4535
shared library target\(aqs associated files on non\-Apple platforms.  Rules
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4536
defined by these arguments are ignored on Apple platforms because the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4537
associated files are installed into the appropriate locations inside
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4538
the framework folder.  See documentation of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4539
\fBPRIVATE_HEADER\fP, \fBPUBLIC_HEADER\fP, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4540
\fBRESOURCE\fP target properties for details.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4541
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4542
Either \fBNAMELINK_ONLY\fP or \fBNAMELINK_SKIP\fP may be specified as a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4543
\fBLIBRARY\fP option.  On some platforms a versioned shared library
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4544
has a symbolic link such as:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4545
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4546
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4547
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4548
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4549
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4550
lib<name>.so \-> lib<name>.so.1
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4551
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4552
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4553
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4554
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4555
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4556
where \fBlib<name>.so.1\fP is the soname of the library and \fBlib<name>.so\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4557
is a "namelink" allowing linkers to find the library when given
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4558
\fB\-l<name>\fP\&.  The \fBNAMELINK_ONLY\fP option causes installation of only the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4559
namelink when a library target is installed.  The \fBNAMELINK_SKIP\fP option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4560
causes installation of library files other than the namelink when a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4561
library target is installed.  When neither option is given both
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4562
portions are installed.  On platforms where versioned shared libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4563
do not have namelinks or when a library is not versioned the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4564
\fBNAMELINK_SKIP\fP option installs the library and the \fBNAMELINK_ONLY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4565
option installs nothing.  See the \fBVERSION\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4566
\fBSOVERSION\fP target properties for details on creating versioned
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4567
shared libraries.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4568
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4569
One or more groups of properties may be specified in a single call to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4570
the \fBTARGETS\fP form of this command.  A target may be installed more than
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4571
once to different locations.  Consider hypothetical targets \fBmyExe\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4572
\fBmySharedLib\fP, and \fBmyStaticLib\fP\&.  The code:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4573
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4574
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4575
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4576
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4577
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4578
install(TARGETS myExe mySharedLib myStaticLib
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4579
        RUNTIME DESTINATION bin
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4580
        LIBRARY DESTINATION lib
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4581
        ARCHIVE DESTINATION lib/static)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4582
install(TARGETS mySharedLib DESTINATION /some/full/path)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4583
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4584
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4585
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4586
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4587
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4588
will install \fBmyExe\fP to \fB<prefix>/bin\fP and \fBmyStaticLib\fP to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4589
\fB<prefix>/lib/static\fP\&.  On non\-DLL platforms \fBmySharedLib\fP will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4590
installed to \fB<prefix>/lib\fP and \fB/some/full/path\fP\&.  On DLL platforms
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4591
the \fBmySharedLib\fP DLL will be installed to \fB<prefix>/bin\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4592
\fB/some/full/path\fP and its import library will be installed to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4593
\fB<prefix>/lib/static\fP and \fB/some/full/path\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4594
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4595
The \fBEXPORT\fP option associates the installed target files with an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4596
export called \fB<export\-name>\fP\&.  It must appear before any \fBRUNTIME\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4597
\fBLIBRARY\fP, or \fBARCHIVE\fP options.  To actually install the export
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4598
file itself, call \fBinstall(EXPORT)\fP, documented below.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4599
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4600
Installing a target with the \fBEXCLUDE_FROM_ALL\fP target property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4601
set to \fBTRUE\fP has undefined behavior.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4602
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4603
The install destination given to the target install \fBDESTINATION\fP may
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4604
use "generator expressions" with the syntax \fB$<...>\fP\&.  See the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4605
\fBcmake\-generator\-expressions(7)\fP manual for available expressions.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4606
.SS Installing Files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4607
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4608
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4609
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4610
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4611
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4612
install(<FILES|PROGRAMS> files... DESTINATION <dir>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4613
        [PERMISSIONS permissions...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4614
        [CONFIGURATIONS [Debug|Release|...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4615
        [COMPONENT <component>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4616
        [RENAME <name>] [OPTIONAL])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4617
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4618
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4619
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4620
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4621
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4622
The \fBFILES\fP form specifies rules for installing files for a project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4623
File names given as relative paths are interpreted with respect to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4624
current source directory.  Files installed by this form are by default
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4625
given permissions \fBOWNER_WRITE\fP, \fBOWNER_READ\fP, \fBGROUP_READ\fP, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4626
\fBWORLD_READ\fP if no \fBPERMISSIONS\fP argument is given.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4627
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4628
The \fBPROGRAMS\fP form is identical to the \fBFILES\fP form except that the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4629
default permissions for the installed file also include \fBOWNER_EXECUTE\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4630
\fBGROUP_EXECUTE\fP, and \fBWORLD_EXECUTE\fP\&.  This form is intended to install
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4631
programs that are not targets, such as shell scripts.  Use the \fBTARGETS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4632
form to install targets built within the project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4633
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4634
The list of \fBfiles...\fP given to \fBFILES\fP or \fBPROGRAMS\fP may use
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4635
"generator expressions" with the syntax \fB$<...>\fP\&.  See the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4636
\fBcmake\-generator\-expressions(7)\fP manual for available expressions.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4637
However, if any item begins in a generator expression it must evaluate
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4638
to a full path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4639
.SS Installing Directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4640
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4641
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4642
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4643
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4644
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4645
install(DIRECTORY dirs... DESTINATION <dir>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4646
        [FILE_PERMISSIONS permissions...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4647
        [DIRECTORY_PERMISSIONS permissions...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4648
        [USE_SOURCE_PERMISSIONS] [OPTIONAL] [MESSAGE_NEVER]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4649
        [CONFIGURATIONS [Debug|Release|...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4650
        [COMPONENT <component>] [FILES_MATCHING]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4651
        [[PATTERN <pattern> | REGEX <regex>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4652
         [EXCLUDE] [PERMISSIONS permissions...]] [...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4653
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4654
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4655
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4656
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4657
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4658
The \fBDIRECTORY\fP form installs contents of one or more directories to a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4659
given destination.  The directory structure is copied verbatim to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4660
destination.  The last component of each directory name is appended to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4661
the destination directory but a trailing slash may be used to avoid
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4662
this because it leaves the last component empty.  Directory names
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4663
given as relative paths are interpreted with respect to the current
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4664
source directory.  If no input directory names are given the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4665
destination directory will be created but nothing will be installed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4666
into it.  The \fBFILE_PERMISSIONS\fP and \fBDIRECTORY_PERMISSIONS\fP options
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4667
specify permissions given to files and directories in the destination.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4668
If \fBUSE_SOURCE_PERMISSIONS\fP is specified and \fBFILE_PERMISSIONS\fP is not,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4669
file permissions will be copied from the source directory structure.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4670
If no permissions are specified files will be given the default
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4671
permissions specified in the \fBFILES\fP form of the command, and the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4672
directories will be given the default permissions specified in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4673
\fBPROGRAMS\fP form of the command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4674
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4675
The \fBMESSAGE_NEVER\fP option disables file installation status output.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4676
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4677
Installation of directories may be controlled with fine granularity
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4678
using the \fBPATTERN\fP or \fBREGEX\fP options.  These "match" options specify a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4679
globbing pattern or regular expression to match directories or files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4680
encountered within input directories.  They may be used to apply
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4681
certain options (see below) to a subset of the files and directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4682
encountered.  The full path to each input file or directory (with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4683
forward slashes) is matched against the expression.  A \fBPATTERN\fP will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4684
match only complete file names: the portion of the full path matching
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4685
the pattern must occur at the end of the file name and be preceded by
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4686
a slash.  A \fBREGEX\fP will match any portion of the full path but it may
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4687
use \fB/\fP and \fB$\fP to simulate the \fBPATTERN\fP behavior.  By default all
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4688
files and directories are installed whether or not they are matched.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4689
The \fBFILES_MATCHING\fP option may be given before the first match option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4690
to disable installation of files (but not directories) not matched by
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4691
any expression.  For example, the code
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4692
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4693
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4694
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4695
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4696
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4697
install(DIRECTORY src/ DESTINATION include/myproj
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4698
        FILES_MATCHING PATTERN "*.h")
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4699
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4700
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4701
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4702
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4703
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4704
will extract and install header files from a source tree.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4705
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4706
Some options may follow a \fBPATTERN\fP or \fBREGEX\fP expression and are applied
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4707
only to files or directories matching them.  The \fBEXCLUDE\fP option will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4708
skip the matched file or directory.  The \fBPERMISSIONS\fP option overrides
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4709
the permissions setting for the matched file or directory.  For
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4710
example the code
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4711
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4712
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4713
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4714
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4715
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4716
install(DIRECTORY icons scripts/ DESTINATION share/myproj
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4717
        PATTERN "CVS" EXCLUDE
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4718
        PATTERN "scripts/*"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4719
        PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4720
                    GROUP_EXECUTE GROUP_READ)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4721
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4722
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4723
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4724
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4725
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4726
will install the \fBicons\fP directory to \fBshare/myproj/icons\fP and the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4727
\fBscripts\fP directory to \fBshare/myproj\fP\&.  The icons will get default
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4728
file permissions, the scripts will be given specific permissions, and any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4729
\fBCVS\fP directories will be excluded.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4730
.SS Custom Installation Logic
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4731
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4732
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4733
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4734
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4735
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4736
install([[SCRIPT <file>] [CODE <code>]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4737
        [COMPONENT <component>] [...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4738
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4739
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4740
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4741
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4742
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4743
The \fBSCRIPT\fP form will invoke the given CMake script files during
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4744
installation.  If the script file name is a relative path it will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4745
interpreted with respect to the current source directory.  The \fBCODE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4746
form will invoke the given CMake code during installation.  Code is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4747
specified as a single argument inside a double\-quoted string.  For
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4748
example, the code
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4749
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4750
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4751
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4752
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4753
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4754
install(CODE "MESSAGE(\e"Sample install message.\e")")
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4755
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4756
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4757
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4758
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4759
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4760
will print a message during installation.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4761
.SS Installing Exports
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4762
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4763
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4764
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4765
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4766
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4767
install(EXPORT <export\-name> DESTINATION <dir>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4768
        [NAMESPACE <namespace>] [FILE <name>.cmake]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4769
        [PERMISSIONS permissions...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4770
        [CONFIGURATIONS [Debug|Release|...]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4771
        [EXPORT_LINK_INTERFACE_LIBRARIES]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4772
        [COMPONENT <component>])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4773
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4774
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4775
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4776
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4777
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4778
The \fBEXPORT\fP form generates and installs a CMake file containing code to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4779
import targets from the installation tree into another project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4780
Target installations are associated with the export \fB<export\-name>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4781
using the \fBEXPORT\fP option of the \fBinstall(TARGETS)\fP signature
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4782
documented above.  The \fBNAMESPACE\fP option will prepend \fB<namespace>\fP to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4783
the target names as they are written to the import file.  By default
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4784
the generated file will be called \fB<export\-name>.cmake\fP but the \fBFILE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4785
option may be used to specify a different name.  The value given to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4786
the \fBFILE\fP option must be a file name with the \fB\&.cmake\fP extension.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4787
If a \fBCONFIGURATIONS\fP option is given then the file will only be installed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4788
when one of the named configurations is installed.  Additionally, the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4789
generated import file will reference only the matching target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4790
configurations.  The \fBEXPORT_LINK_INTERFACE_LIBRARIES\fP keyword, if
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4791
present, causes the contents of the properties matching
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4792
\fB(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?\fP to be exported, when
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4793
policy \fBCMP0022\fP is \fBNEW\fP\&.  If a \fBCOMPONENT\fP option is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4794
specified that does not match that given to the targets associated with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4795
\fB<export\-name>\fP the behavior is undefined.  If a library target is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4796
included in the export but a target to which it links is not included
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4797
the behavior is unspecified.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4798
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4799
The \fBEXPORT\fP form is useful to help outside projects use targets built
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4800
and installed by the current project.  For example, the code
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4801
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4802
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4803
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4804
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4805
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4806
install(TARGETS myexe EXPORT myproj DESTINATION bin)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4807
install(EXPORT myproj NAMESPACE mp_ DESTINATION lib/myproj)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4808
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4809
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4810
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4811
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4812
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4813
will install the executable myexe to \fB<prefix>/bin\fP and code to import
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4814
it in the file \fB<prefix>/lib/myproj/myproj.cmake\fP\&.  An outside project
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4815
may load this file with the include command and reference the \fBmyexe\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4816
executable from the installation tree using the imported target name
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4817
\fBmp_myexe\fP as if the target were built in its own tree.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4818
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4819
\fBNOTE:\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4820
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4821
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4822
This command supercedes the \fBinstall_targets()\fP command and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4823
the \fBPRE_INSTALL_SCRIPT\fP and \fBPOST_INSTALL_SCRIPT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4824
target properties.  It also replaces the \fBFILES\fP forms of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4825
\fBinstall_files()\fP and \fBinstall_programs()\fP commands.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4826
The processing order of these install rules relative to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4827
those generated by \fBinstall_targets()\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4828
\fBinstall_files()\fP, and \fBinstall_programs()\fP commands
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4829
is not defined.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4830
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4831
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4832
.SS link_directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4833
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4834
Specify directories in which the linker will look for libraries.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4835
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4836
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4837
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4838
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4839
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4840
link_directories(directory1 directory2 ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4841
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4842
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4843
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4844
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4845
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4846
Specify the paths in which the linker should search for libraries.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4847
The command will apply only to targets created after it is called.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4848
Relative paths given to this command are interpreted as relative to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4849
the current source directory, see CMP0015.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4850
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4851
Note that this command is rarely necessary.  Library locations
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4852
returned by find_package() and find_library() are absolute paths.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4853
Pass these absolute library file paths directly to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4854
target_link_libraries() command.  CMake will ensure the linker finds
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4855
them.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4856
.SS link_libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4857
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4858
Link libraries to all targets added later.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4859
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4860
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4861
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4862
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4863
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4864
link_libraries([item1 [item2 [...]]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4865
               [[debug|optimized|general] <item>] ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4866
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4867
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4868
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4869
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4870
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4871
Specify libraries or flags to use when linking any targets created later in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4872
the current directory or below by commands such as \fBadd_executable()\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4873
or \fBadd_library()\fP\&.  See the \fBtarget_link_libraries()\fP command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4874
for meaning of arguments.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4875
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4876
\fBNOTE:\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4877
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4878
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4879
The \fBtarget_link_libraries()\fP command should be preferred whenever
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4880
possible.  Library dependencies are chained automatically, so directory\-wide
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4881
specification of link libraries is rarely needed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4882
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4883
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4884
.SS list
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4885
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4886
List operations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4887
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4888
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4889
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4890
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4891
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4892
list(LENGTH <list> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4893
list(GET <list> <element index> [<element index> ...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4894
     <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4895
list(APPEND <list> [<element> ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4896
list(FIND <list> <value> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4897
list(INSERT <list> <element_index> <element> [<element> ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4898
list(REMOVE_ITEM <list> <value> [<value> ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4899
list(REMOVE_AT <list> <index> [<index> ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4900
list(REMOVE_DUPLICATES <list>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4901
list(REVERSE <list>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4902
list(SORT <list>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4903
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4904
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4905
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4906
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4907
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4908
LENGTH will return a given list\(aqs length.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4909
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4910
GET will return list of elements specified by indices from the list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4911
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4912
APPEND will append elements to the list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4913
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4914
FIND will return the index of the element specified in the list or \-1
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4915
if it wasn\(aqt found.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4916
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4917
INSERT will insert elements to the list to the specified location.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4918
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4919
REMOVE_AT and REMOVE_ITEM will remove items from the list.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4920
difference is that REMOVE_ITEM will remove the given items, while
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4921
REMOVE_AT will remove the items at the given indices.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4922
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4923
REMOVE_DUPLICATES will remove duplicated items in the list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4924
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4925
REVERSE reverses the contents of the list in\-place.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4926
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4927
SORT sorts the list in\-place alphabetically.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4928
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4929
The list subcommands APPEND, INSERT, REMOVE_AT, REMOVE_ITEM,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4930
REMOVE_DUPLICATES, REVERSE and SORT may create new values for the list
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4931
within the current CMake variable scope.  Similar to the SET command,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4932
the LIST command creates new variable values in the current scope,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4933
even if the list itself is actually defined in a parent scope.  To
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4934
propagate the results of these operations upwards, use SET with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4935
PARENT_SCOPE, SET with CACHE INTERNAL, or some other means of value
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4936
propagation.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4937
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4938
NOTES: A list in cmake is a ; separated group of strings.  To create a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4939
list the set command can be used.  For example, set(var a b c d e)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4940
creates a list with a;b;c;d;e, and set(var "a b c d e") creates a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4941
string or a list with one item in it.   (Note macro arguments are not
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4942
variables, and therefore cannot be used in LIST commands.)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4943
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4944
When specifying index values, if <element index> is 0 or greater, it
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4945
is indexed from the beginning of the list, with 0 representing the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4946
first list element.  If <element index> is \-1 or lesser, it is indexed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4947
from the end of the list, with \-1 representing the last list element.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4948
Be careful when counting with negative indices: they do not start from
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4949
0.  \-0 is equivalent to 0, the first list element.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4950
.SS load_cache
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4951
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4952
Load in the values from another project\(aqs CMake cache.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4953
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4954
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4955
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4956
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4957
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4958
load_cache(pathToCacheFile READ_WITH_PREFIX
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4959
           prefix entry1...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4960
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4961
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4962
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4963
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4964
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4965
Read the cache and store the requested entries in variables with their
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4966
name prefixed with the given prefix.  This only reads the values, and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4967
does not create entries in the local project\(aqs cache.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4968
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4969
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4970
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4971
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4972
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4973
load_cache(pathToCacheFile [EXCLUDE entry1...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4974
           [INCLUDE_INTERNALS entry1...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4975
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4976
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4977
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4978
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4979
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4980
Load in the values from another cache and store them in the local
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4981
project\(aqs cache as internal entries.  This is useful for a project
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4982
that depends on another project built in a different tree.  EXCLUDE
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4983
option can be used to provide a list of entries to be excluded.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4984
INCLUDE_INTERNALS can be used to provide a list of internal entries to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4985
be included.  Normally, no internal entries are brought in.  Use of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4986
this form of the command is strongly discouraged, but it is provided
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4987
for backward compatibility.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4988
.SS load_command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4989
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4990
Disallowed.  See CMake Policy \fBCMP0031\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4991
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4992
Load a command into a running CMake.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4993
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4994
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4995
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4996
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4997
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4998
load_command(COMMAND_NAME <loc1> [loc2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  4999
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5000
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5001
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5002
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5003
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5004
The given locations are searched for a library whose name is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5005
cmCOMMAND_NAME.  If found, it is loaded as a module and the command is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5006
added to the set of available CMake commands.  Usually, TRY_COMPILE is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5007
used before this command to compile the module.  If the command is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5008
successfully loaded a variable named
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5009
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5010
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5011
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5012
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5013
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5014
CMAKE_LOADED_COMMAND_<COMMAND_NAME>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5015
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5016
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5017
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5018
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5019
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5020
will be set to the full path of the module that was loaded.  Otherwise
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5021
the variable will not be set.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5022
.SS macro
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5023
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5024
Start recording a macro for later invocation as a command:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5025
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5026
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5027
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5028
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5029
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5030
macro(<name> [arg1 [arg2 [arg3 ...]]])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5031
  COMMAND1(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5032
  COMMAND2(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5033
  ...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5034
endmacro(<name>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5035
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5036
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5037
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5038
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5039
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5040
Define a macro named \fB<name>\fP that takes arguments named \fBarg1\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5041
\fBarg2\fP, \fBarg3\fP, (...).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5042
Commands listed after macro, but before the matching
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5043
\fBendmacro()\fP, are not invoked until the macro is invoked.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5044
When it is invoked, the commands recorded in the macro are first
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5045
modified by replacing formal parameters (\fB${arg1}\fP) with the arguments
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5046
passed, and then invoked as normal commands.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5047
In addition to referencing the formal parameters you can reference the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5048
values \fB${ARGC}\fP which will be set to the number of arguments passed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5049
into the function as well as \fB${ARGV0}\fP, \fB${ARGV1}\fP, \fB${ARGV2}\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5050
...  which will have the actual values of the arguments passed in.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5051
This facilitates creating macros with optional arguments.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5052
Additionally \fB${ARGV}\fP holds the list of all arguments given to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5053
macro and \fB${ARGN}\fP holds the list of arguments past the last expected
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5054
argument.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5055
Referencing to \fB${ARGV#}\fP arguments beyond \fB${ARGC}\fP have undefined
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5056
behavior. Checking that \fB${ARGC}\fP is greater than \fB#\fP is the only
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5057
way to ensure that \fB${ARGV#}\fP was passed to the function as an extra
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5058
argument.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5059
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5060
See the \fBcmake_policy()\fP command documentation for the behavior
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5061
of policies inside macros.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5062
.SS Macro Argument Caveats
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5063
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5064
Note that the parameters to a macro and values such as \fBARGN\fP are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5065
not variables in the usual CMake sense.  They are string
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5066
replacements much like the C preprocessor would do with a macro.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5067
Therefore you will NOT be able to use commands like:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5068
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5069
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5070
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5071
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5072
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5073
if(ARGV1) # ARGV1 is not a variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5074
if(DEFINED ARGV2) # ARGV2 is not a variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5075
if(ARGC GREATER 2) # ARGC is not a variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5076
foreach(loop_var IN LISTS ARGN) # ARGN is not a variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5077
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5078
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5079
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5080
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5081
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5082
In the first case, you can use \fBif(${ARGV1})\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5083
In the second and third case, the proper way to check if an optional
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5084
variable was passed to the macro is to use \fBif(${ARGC} GREATER 2)\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5085
In the last case, you can use \fBforeach(loop_var ${ARGN})\fP but this
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5086
will skip empty arguments.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5087
If you need to include them, you can use:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5088
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5089
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5090
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5091
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5092
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5093
set(list_var "${ARGN}")
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5094
foreach(loop_var IN LISTS list_var)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5095
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5096
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5097
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5098
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5099
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5100
Note that if you have a variable with the same name in the scope from
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5101
which the macro is called, using unreferenced names will use the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5102
existing variable instead of the arguments. For example:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5103
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5104
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5105
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5106
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5107
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5108
macro(_BAR)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5109
  foreach(arg IN LISTS ARGN)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5110
    [...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5111
  endforeach()
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5112
endmacro()
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5113
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5114
function(_FOO)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5115
  _bar(x y z)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5116
endfunction()
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5117
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5118
_foo(a b c)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5119
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5120
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5121
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5122
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5123
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5124
Will loop over \fBa;b;c\fP and not over \fBx;y;z\fP as one might be expecting.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5125
If you want true CMake variables and/or better CMake scope control you
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5126
should look at the function command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5127
.SS mark_as_advanced
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5128
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5129
Mark cmake cached variables as advanced.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5130
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5131
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5132
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5133
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5134
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5135
mark_as_advanced([CLEAR|FORCE] VAR [VAR2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5136
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5137
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5138
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5139
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5140
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5141
Mark the named cached variables as advanced.  An advanced variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5142
will not be displayed in any of the cmake GUIs unless the show
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5143
advanced option is on.  If CLEAR is the first argument advanced
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5144
variables are changed back to unadvanced.  If FORCE is the first
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5145
argument, then the variable is made advanced.  If neither FORCE nor
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5146
CLEAR is specified, new values will be marked as advanced, but if the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5147
variable already has an advanced/non\-advanced state, it will not be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5148
changed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5149
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5150
It does nothing in script mode.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5151
.SS math
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5152
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5153
Mathematical expressions.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5154
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5155
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5156
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5157
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5158
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5159
math(EXPR <output variable> <math expression>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5160
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5161
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5162
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5163
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5164
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5165
EXPR evaluates mathematical expression and returns result in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5166
output variable.  Example mathematical expression is \(aq5 * ( 10 + 13
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5167
)\(aq.  Supported operators are + \- * / % | & ^ ~ << >> * / %.  They have
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5168
the same meaning as they do in C code.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5169
.SS message
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5170
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5171
Display a message to the user.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5172
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5173
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5174
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5175
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5176
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5177
message([<mode>] "message to display" ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5178
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5179
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5180
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5181
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5182
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5183
The optional <mode> keyword determines the type of message:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5184
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5185
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5186
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5187
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5188
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5189
(none)         = Important information
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5190
STATUS         = Incidental information
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5191
WARNING        = CMake Warning, continue processing
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5192
AUTHOR_WARNING = CMake Warning (dev), continue processing
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5193
SEND_ERROR     = CMake Error, continue processing,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5194
                              but skip generation
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5195
FATAL_ERROR    = CMake Error, stop processing and generation
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5196
DEPRECATION    = CMake Deprecation Error or Warning if variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5197
                 CMAKE_ERROR_DEPRECATED or CMAKE_WARN_DEPRECATED
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5198
                 is enabled, respectively, else no message.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5199
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5200
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5201
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5202
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5203
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5204
The CMake command\-line tool displays STATUS messages on stdout and all
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5205
other message types on stderr.  The CMake GUI displays all messages in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5206
its log area.  The interactive dialogs (ccmake and CMakeSetup) show
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5207
STATUS messages one at a time on a status line and other messages in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5208
interactive pop\-up boxes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5209
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5210
CMake Warning and Error message text displays using a simple markup
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5211
language.  Non\-indented text is formatted in line\-wrapped paragraphs
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5212
delimited by newlines.  Indented text is considered pre\-formatted.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5213
.SS option
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5214
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5215
Provides an option that the user can optionally select.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5216
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5217
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5218
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5219
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5220
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5221
option(<option_variable> "help string describing option"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5222
       [initial value])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5223
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5224
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5225
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5226
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5227
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5228
Provide an option for the user to select as ON or OFF.  If no initial
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5229
value is provided, OFF is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5230
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5231
If you have options that depend on the values of other options, see
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5232
the module help for CMakeDependentOption.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5233
.SS project
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5234
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5235
Set a name, version, and enable languages for the entire project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5236
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5237
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5238
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5239
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5240
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5241
project(<PROJECT\-NAME> [LANGUAGES] [<language\-name>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5242
project(<PROJECT\-NAME>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5243
        [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5244
        [LANGUAGES <language\-name>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5245
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5246
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5247
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5248
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5249
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5250
Sets the name of the project and stores the name in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5251
\fBPROJECT_NAME\fP variable.  Additionally this sets variables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5252
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5253
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5254
\fBPROJECT_SOURCE_DIR\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5255
\fB<PROJECT\-NAME>_SOURCE_DIR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5256
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5257
\fBPROJECT_BINARY_DIR\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5258
\fB<PROJECT\-NAME>_BINARY_DIR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5259
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5260
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5261
If \fBVERSION\fP is specified, given components must be non\-negative integers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5262
If \fBVERSION\fP is not specified, the default version is the empty string.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5263
The \fBVERSION\fP option may not be used unless policy \fBCMP0048\fP is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5264
set to \fBNEW\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5265
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5266
The \fI\%project()\fP command stores the version number and its components
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5267
in variables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5268
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5269
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5270
\fBPROJECT_VERSION\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5271
\fB<PROJECT\-NAME>_VERSION\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5272
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5273
\fBPROJECT_VERSION_MAJOR\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5274
\fB<PROJECT\-NAME>_VERSION_MAJOR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5275
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5276
\fBPROJECT_VERSION_MINOR\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5277
\fB<PROJECT\-NAME>_VERSION_MINOR\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5278
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5279
\fBPROJECT_VERSION_PATCH\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5280
\fB<PROJECT\-NAME>_VERSION_PATCH\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5281
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5282
\fBPROJECT_VERSION_TWEAK\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5283
\fB<PROJECT\-NAME>_VERSION_TWEAK\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5284
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5285
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5286
Variables corresponding to unspecified versions are set to the empty string
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5287
(if policy \fBCMP0048\fP is set to \fBNEW\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5288
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5289
Optionally you can specify which languages your project supports.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5290
Example languages are \fBC\fP, \fBCXX\fP (i.e.  C++), \fBFortran\fP, etc.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5291
By default \fBC\fP and \fBCXX\fP are enabled if no language options are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5292
given.  Specify language \fBNONE\fP, or use the \fBLANGUAGES\fP keyword
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5293
and list no languages, to skip enabling any languages.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5294
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5295
If a variable exists called \fBCMAKE_PROJECT_<PROJECT\-NAME>_INCLUDE\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5296
the file pointed to by that variable will be included as the last step of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5297
project command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5298
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5299
The top\-level \fBCMakeLists.txt\fP file for a project must contain a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5300
literal, direct call to the \fI\%project()\fP command; loading one
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5301
through the \fBinclude()\fP command is not sufficient.  If no such
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5302
call exists CMake will implicitly add one to the top that enables the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5303
default languages (\fBC\fP and \fBCXX\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5304
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5305
\fBNOTE:\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5306
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5307
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5308
Call the \fBcmake_minimum_required()\fP command at the beginning
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5309
of the top\-level \fBCMakeLists.txt\fP file even before calling the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5310
\fBproject()\fP command.  It is important to establish version and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5311
policy settings before invoking other commands whose behavior they
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5312
may affect.  See also policy \fBCMP0000\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5313
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5314
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5315
.SS qt_wrap_cpp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5316
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5317
Create Qt Wrappers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5318
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5319
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5320
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5321
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5322
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5323
qt_wrap_cpp(resultingLibraryName DestName
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5324
            SourceLists ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5325
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5326
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5327
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5328
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5329
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5330
Produce moc files for all the .h files listed in the SourceLists.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5331
moc files will be added to the library using the DestName source list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5332
.SS qt_wrap_ui
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5333
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5334
Create Qt user interfaces Wrappers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5335
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5336
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5337
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5338
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5339
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5340
qt_wrap_ui(resultingLibraryName HeadersDestName
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5341
           SourcesDestName SourceLists ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5342
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5343
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5344
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5345
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5346
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5347
Produce .h and .cxx files for all the .ui files listed in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5348
SourceLists.  The .h files will be added to the library using the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5349
HeadersDestNamesource list.  The .cxx files will be added to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5350
library using the SourcesDestNamesource list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5351
.SS remove_definitions
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5352
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5353
Removes \-D define flags added by add_definitions.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5354
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5355
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5356
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5357
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5358
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5359
remove_definitions(\-DFOO \-DBAR ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5360
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5361
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5362
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5363
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5364
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5365
Removes flags (added by add_definitions) from the compiler command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5366
line for sources in the current directory and below.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5367
.SS return
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5368
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5369
Return from a file, directory or function.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5370
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5371
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5372
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5373
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5374
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5375
return()
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5376
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5377
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5378
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5379
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5380
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5381
Returns from a file, directory or function.  When this command is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5382
encountered in an included file (via include() or find_package()), it
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5383
causes processing of the current file to stop and control is returned
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5384
to the including file.  If it is encountered in a file which is not
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5385
included by another file, e.g.  a CMakeLists.txt, control is returned
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5386
to the parent directory if there is one.  If return is called in a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5387
function, control is returned to the caller of the function.  Note
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5388
that a macro is not a function and does not handle return like a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5389
function does.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5390
.SS separate_arguments
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5391
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5392
Parse space\-separated arguments into a semicolon\-separated list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5393
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5394
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5395
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5396
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5397
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5398
separate_arguments(<var> <UNIX|WINDOWS>_COMMAND "<args>")
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5399
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5400
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5401
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5402
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5403
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5404
Parses a unix\- or windows\-style command\-line string "<args>" and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5405
stores a semicolon\-separated list of the arguments in <var>.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5406
entire command line must be given in one "<args>" argument.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5407
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5408
The UNIX_COMMAND mode separates arguments by unquoted whitespace.  It
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5409
recognizes both single\-quote and double\-quote pairs.  A backslash
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5410
escapes the next literal character (" is "); there are no special
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5411
escapes (n is just n).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5412
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5413
The WINDOWS_COMMAND mode parses a windows command\-line using the same
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5414
syntax the runtime library uses to construct argv at startup.  It
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5415
separates arguments by whitespace that is not double\-quoted.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5416
Backslashes are literal unless they precede double\-quotes.  See the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5417
MSDN article "Parsing C Command\-Line Arguments" for details.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5418
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5419
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5420
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5421
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5422
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5423
separate_arguments(VARIABLE)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5424
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5425
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5426
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5427
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5428
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5429
Convert the value of VARIABLE to a semi\-colon separated list.  All
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5430
spaces are replaced with \(aq;\(aq.  This helps with generating command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5431
lines.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5432
.SS set_directory_properties
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5433
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5434
Set a property of the directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5435
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5436
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5437
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5438
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5439
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5440
set_directory_properties(PROPERTIES prop1 value1 prop2 value2)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5441
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5442
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5443
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5444
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5445
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5446
Set a property for the current directory and subdirectories. See
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5447
Directory Properties for the list of properties known
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5448
to CMake.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5449
.SS set_property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5450
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5451
Set a named property in a given scope.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5452
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5453
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5454
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5455
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5456
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5457
set_property(<GLOBAL                            |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5458
              DIRECTORY [dir]                   |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5459
              TARGET    [target1 [target2 ...]] |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5460
              SOURCE    [src1 [src2 ...]]       |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5461
              INSTALL   [file1 [file2 ...]]     |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5462
              TEST      [test1 [test2 ...]]     |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5463
              CACHE     [entry1 [entry2 ...]]>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5464
             [APPEND] [APPEND_STRING]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5465
             PROPERTY <name> [value1 [value2 ...]])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5466
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5467
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5468
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5469
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5470
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5471
Set one property on zero or more objects of a scope.  The first
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5472
argument determines the scope in which the property is set.  It must
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5473
be one of the following:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5474
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5475
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5476
.B \fBGLOBAL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5477
Scope is unique and does not accept a name.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5478
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5479
.B \fBDIRECTORY\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5480
Scope defaults to the current directory but another
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5481
directory (already processed by CMake) may be named by full or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5482
relative path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5483
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5484
.B \fBTARGET\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5485
Scope may name zero or more existing targets.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5486
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5487
.B \fBSOURCE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5488
Scope may name zero or more source files.  Note that source
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5489
file properties are visible only to targets added in the same
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5490
directory (CMakeLists.txt).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5491
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5492
.B \fBINSTALL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5493
Scope may name zero or more installed file paths.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5494
These are made available to CPack to influence deployment.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5495
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5496
Both the property key and value may use generator expressions.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5497
Specific properties may apply to installed files and/or directories.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5498
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5499
Path components have to be separated by forward slashes,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5500
must be normalized and are case sensitive.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5501
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5502
To reference the installation prefix itself with a relative path use ".".
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5503
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5504
Currently installed file properties are only defined for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5505
the WIX generator where the given paths are relative
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5506
to the installation prefix.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5507
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5508
.B \fBTEST\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5509
Scope may name zero or more existing tests.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5510
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5511
.B \fBCACHE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5512
Scope must name zero or more cache existing entries.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5513
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5514
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5515
The required \fBPROPERTY\fP option is immediately followed by the name of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5516
the property to set.  Remaining arguments are used to compose the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5517
property value in the form of a semicolon\-separated list.  If the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5518
\fBAPPEND\fP option is given the list is appended to any existing property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5519
value.  If the \fBAPPEND_STRING\fP option is given the string is append to any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5520
existing property value as string, i.e.  it results in a longer string
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5521
and not a list of strings.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5522
.SS set
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5523
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5524
Set a normal, cache, or environment variable to a given value.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5525
See the cmake\-language(7) variables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5526
documentation for the scopes and interaction of normal variables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5527
and cache entries.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5528
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5529
Signatures of this command that specify a \fB<value>...\fP placeholder
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5530
expect zero or more arguments.  Multiple arguments will be joined as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5531
a ;\-list to form the actual variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5532
value to be set.  Zero arguments will cause normal variables to be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5533
unset.  See the \fBunset()\fP command to unset variables explicitly.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5534
.SS Set Normal Variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5535
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5536
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5537
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5538
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5539
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5540
set(<variable> <value>... [PARENT_SCOPE])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5541
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5542
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5543
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5544
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5545
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5546
Set the given \fB<variable>\fP in the current function or directory scope.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5547
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5548
If the \fBPARENT_SCOPE\fP option is given the variable will be set in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5549
the scope above the current scope.  Each new directory or function
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5550
creates a new scope.  This command will set the value of a variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5551
into the parent directory or calling function (whichever is applicable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5552
to the case at hand).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5553
.SS Set Cache Entry
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5554
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5555
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5556
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5557
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5558
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5559
set(<variable> <value>... CACHE <type> <docstring> [FORCE])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5560
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5561
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5562
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5563
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5564
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5565
Set the given cache \fB<variable>\fP (cache entry).  Since cache entries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5566
are meant to provide user\-settable values this does not overwrite
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5567
existing cache entries by default.  Use the \fBFORCE\fP option to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5568
overwrite existing entries.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5569
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5570
The \fB<type>\fP must be specified as one of:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5571
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5572
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5573
.B \fBBOOL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5574
Boolean \fBON/OFF\fP value.  \fBcmake\-gui(1)\fP offers a checkbox.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5575
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5576
.B \fBFILEPATH\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5577
Path to a file on disk.  \fBcmake\-gui(1)\fP offers a file dialog.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5578
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5579
.B \fBPATH\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5580
Path to a directory on disk.  \fBcmake\-gui(1)\fP offers a file dialog.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5581
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5582
.B \fBSTRING\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5583
A line of text.  \fBcmake\-gui(1)\fP offers a text field or a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5584
drop\-down selection if the \fBSTRINGS\fP cache entry
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5585
property is set.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5586
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5587
.B \fBINTERNAL\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5588
A line of text.  \fBcmake\-gui(1)\fP does not show internal entries.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5589
They may be used to store variables persistently across runs.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5590
Use of this type implies \fBFORCE\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5591
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5592
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5593
The \fB<docstring>\fP must be specified as a line of text providing
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5594
a quick summary of the option for presentation to \fBcmake\-gui(1)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5595
users.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5596
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5597
If the cache entry does not exist prior to the call or the \fBFORCE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5598
option is given then the cache entry will be set to the given value.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5599
Furthermore, any normal variable binding in the current scope will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5600
be removed to expose the newly cached value to any immediately
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5601
following evaluation.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5602
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5603
It is possible for the cache entry to exist prior to the call but
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5604
have no type set if it was created on the \fBcmake(1)\fP command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5605
line by a user through the \fB\-D<var>=<value>\fP option without
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5606
specifying a type.  In this case the \fBset\fP command will add the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5607
type.  Furthermore, if the \fB<type>\fP is \fBPATH\fP or \fBFILEPATH\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5608
and the \fB<value>\fP provided on the command line is a relative path,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5609
then the \fBset\fP command will treat the path as relative to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5610
current working directory and convert it to an absolute path.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5611
.SS Set Environment Variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5612
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5613
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5614
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5615
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5616
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5617
set(ENV{<variable>} <value>...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5618
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5619
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5620
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5621
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5622
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5623
Set the current process environment \fB<variable>\fP to the given value.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5624
.SS set_source_files_properties
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5625
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5626
Source files can have properties that affect how they are built.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5627
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5628
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5629
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5630
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5631
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5632
set_source_files_properties([file1 [file2 [...]]]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5633
                            PROPERTIES prop1 value1
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5634
                            [prop2 value2 [...]])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5635
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5636
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5637
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5638
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5639
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5640
Set properties associated with source files using a key/value paired
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5641
list.  See Source File Properties for the list of properties known
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5642
to CMake.  Source file properties are visible only to targets added
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5643
in the same directory (CMakeLists.txt).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5644
.SS set_target_properties
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5645
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5646
Targets can have properties that affect how they are built.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5647
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5648
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5649
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5650
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5651
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5652
set_target_properties(target1 target2 ...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5653
                      PROPERTIES prop1 value1
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5654
                      prop2 value2 ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5655
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5656
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5657
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5658
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5659
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5660
Set properties on a target.  The syntax for the command is to list all
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5661
the files you want to change, and then provide the values you want to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5662
set next.  You can use any prop value pair you want and extract it
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5663
later with the GET_TARGET_PROPERTY command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5664
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5665
Properties that affect the name of a target\(aqs output file are as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5666
follows.  The PREFIX and SUFFIX properties override the default target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5667
name prefix (such as "lib") and suffix (such as ".so").  IMPORT_PREFIX
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5668
and IMPORT_SUFFIX are the equivalent properties for the import library
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5669
corresponding to a DLL (for SHARED library targets).  OUTPUT_NAME sets
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5670
the real name of a target when it is built and can be used to help
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5671
create two targets of the same name even though CMake requires unique
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5672
logical target names.  There is also a <CONFIG>_OUTPUT_NAME that can
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5673
set the output name on a per\-configuration basis.  <CONFIG>_POSTFIX
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5674
sets a postfix for the real name of the target when it is built under
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5675
the configuration named by <CONFIG> (in upper\-case, such as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5676
"DEBUG_POSTFIX").  The value of this property is initialized when the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5677
target is created to the value of the variable CMAKE_<CONFIG>_POSTFIX
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5678
(except for executable targets because earlier CMake versions which
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5679
did not use this variable for executables).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5680
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5681
The LINK_FLAGS property can be used to add extra flags to the link
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5682
step of a target.  LINK_FLAGS_<CONFIG> will add to the configuration
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5683
<CONFIG>, for example, DEBUG, RELEASE, MINSIZEREL, RELWITHDEBINFO.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5684
DEFINE_SYMBOL sets the name of the preprocessor symbol defined when
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5685
compiling sources in a shared library.  If not set here then it is set
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5686
to target_EXPORTS by default (with some substitutions if the target is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5687
not a valid C identifier).  This is useful for headers to know whether
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5688
they are being included from inside their library or outside to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5689
properly setup dllexport/dllimport decorations.  The COMPILE_FLAGS
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5690
property sets additional compiler flags used to build sources within
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5691
the target.  It may also be used to pass additional preprocessor
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5692
definitions.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5693
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5694
The LINKER_LANGUAGE property is used to change the tool used to link
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5695
an executable or shared library.  The default is set the language to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5696
match the files in the library.  CXX and C are common values for this
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5697
property.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5698
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5699
For shared libraries VERSION and SOVERSION can be used to specify the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5700
build version and API version respectively.  When building or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5701
installing appropriate symlinks are created if the platform supports
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5702
symlinks and the linker supports so\-names.  If only one of both is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5703
specified the missing is assumed to have the same version number.  For
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5704
executables VERSION can be used to specify the build version.  When
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5705
building or installing appropriate symlinks are created if the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5706
platform supports symlinks.  For shared libraries and executables on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5707
Windows the VERSION attribute is parsed to extract a "major.minor"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5708
version number.  These numbers are used as the image version of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5709
binary.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5710
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5711
There are a few properties used to specify RPATH rules.  INSTALL_RPATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5712
is a semicolon\-separated list specifying the rpath to use in installed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5713
targets (for platforms that support it).  INSTALL_RPATH_USE_LINK_PATH
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5714
is a boolean that if set to true will append directories in the linker
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5715
search path and outside the project to the INSTALL_RPATH.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5716
SKIP_BUILD_RPATH is a boolean specifying whether to skip automatic
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5717
generation of an rpath allowing the target to run from the build tree.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5718
BUILD_WITH_INSTALL_RPATH is a boolean specifying whether to link the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5719
target in the build tree with the INSTALL_RPATH.  This takes
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5720
precedence over SKIP_BUILD_RPATH and avoids the need for relinking
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5721
before installation.  INSTALL_NAME_DIR is a string specifying the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5722
directory portion of the "install_name" field of shared libraries on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5723
Mac OSX to use in the installed targets.  When the target is created
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5724
the values of the variables CMAKE_INSTALL_RPATH,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5725
CMAKE_INSTALL_RPATH_USE_LINK_PATH, CMAKE_SKIP_BUILD_RPATH,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5726
CMAKE_BUILD_WITH_INSTALL_RPATH, and CMAKE_INSTALL_NAME_DIR are used to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5727
initialize these properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5728
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5729
PROJECT_LABEL can be used to change the name of the target in an IDE
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5730
like visual studio.  VS_KEYWORD can be set to change the visual studio
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5731
keyword, for example Qt integration works better if this is set to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5732
Qt4VSv1.0.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5733
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5734
VS_SCC_PROJECTNAME, VS_SCC_LOCALPATH, VS_SCC_PROVIDER and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5735
VS_SCC_AUXPATH can be set to add support for source control bindings
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5736
in a Visual Studio project file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5737
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5738
VS_GLOBAL_<variable> can be set to add a Visual Studio
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5739
project\-specific global variable.  Qt integration works better if
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5740
VS_GLOBAL_QtVersion is set to the Qt version FindQt4.cmake found.  For
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5741
example, "4.7.3"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5742
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5743
The PRE_INSTALL_SCRIPT and POST_INSTALL_SCRIPT properties are the old
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5744
way to specify CMake scripts to run before and after installing a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5745
target.  They are used only when the old INSTALL_TARGETS command is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5746
used to install the target.  Use the INSTALL command instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5747
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5748
The EXCLUDE_FROM_DEFAULT_BUILD property is used by the visual studio
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5749
generators.  If it is set to 1 the target will not be part of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5750
default build when you select "Build Solution".  This can also be set
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5751
on a per\-configuration basis using
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5752
EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5753
.SS set_tests_properties
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5754
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5755
Set a property of the tests.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5756
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5757
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5758
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5759
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5760
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5761
set_tests_properties(test1 [test2...] PROPERTIES prop1 value1 prop2 value2)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5762
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5763
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5764
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5765
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5766
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5767
Set a property for the tests.  If the test is not found, CMake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5768
will report an error.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5769
\fBGenerator expressions\fP will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5770
expanded the same as supported by the test\(aqs \fBadd_test()\fP call.  See
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5771
Test Properties for the list of properties known to CMake.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5772
.SS site_name
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5773
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5774
Set the given variable to the name of the computer.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5775
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5776
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5777
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5778
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5779
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5780
site_name(variable)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5781
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5782
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5783
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5784
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5785
.SS source_group
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5786
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5787
Define a grouping for source files in IDE project generation.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5788
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5789
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5790
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5791
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5792
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5793
source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5794
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5795
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5796
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5797
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5798
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5799
Defines a group into which sources will be placed in project files.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5800
This is intended to set up file tabs in Visual Studio.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5801
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5802
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5803
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5804
.B \fBFILES\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5805
Any source file specified explicitly will be placed in group
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5806
\fB<name>\fP\&.  Relative paths are interpreted with respect to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5807
current source directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5808
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5809
.B \fBREGULAR_EXPRESSION\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5810
Any source file whose name matches the regular expression will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5811
be placed in group \fB<name>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5812
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5813
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5814
If a source file matches multiple groups, the \fIlast\fP group that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5815
explicitly lists the file with \fBFILES\fP will be favored, if any.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5816
If no group explicitly lists the file, the \fIlast\fP group whose
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5817
regular expression matches the file will be favored.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5818
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5819
The \fB<name>\fP of the group may contain backslashes to specify subgroups:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5820
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5821
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5822
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5823
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5824
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5825
source_group(outer\e\einner ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5826
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5827
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5828
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5829
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5830
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5831
For backwards compatibility, the short\-hand signature
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5832
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5833
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5834
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5835
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5836
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5837
source_group(<name> <regex>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5838
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5839
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5840
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5841
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5842
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5843
is equivalent to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5844
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5845
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5846
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5847
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5848
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5849
source_group(<name> REGULAR_EXPRESSION <regex>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5850
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5851
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5852
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5853
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5854
.SS string
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5855
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5856
String operations.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5857
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5858
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5859
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5860
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5861
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5862
string(REGEX MATCH <regular_expression>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5863
       <output variable> <input> [<input>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5864
string(REGEX MATCHALL <regular_expression>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5865
       <output variable> <input> [<input>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5866
string(REGEX REPLACE <regular_expression>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5867
       <replace_expression> <output variable>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5868
       <input> [<input>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5869
string(REPLACE <match_string>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5870
       <replace_string> <output variable>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5871
       <input> [<input>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5872
string(CONCAT <output variable> [<input>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5873
string(<MD5|SHA1|SHA224|SHA256|SHA384|SHA512>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5874
       <output variable> <input>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5875
string(COMPARE EQUAL <string1> <string2> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5876
string(COMPARE NOTEQUAL <string1> <string2> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5877
string(COMPARE LESS <string1> <string2> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5878
string(COMPARE GREATER <string1> <string2> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5879
string(ASCII <number> [<number> ...] <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5880
string(CONFIGURE <string1> <output variable>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5881
       [@ONLY] [ESCAPE_QUOTES])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5882
string(TOUPPER <string1> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5883
string(TOLOWER <string1> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5884
string(LENGTH <string> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5885
string(SUBSTRING <string> <begin> <length> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5886
string(STRIP <string> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5887
string(RANDOM [LENGTH <length>] [ALPHABET <alphabet>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5888
       [RANDOM_SEED <seed>] <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5889
string(FIND <string> <substring> <output variable> [REVERSE])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5890
string(TIMESTAMP <output variable> [<format string>] [UTC])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5891
string(MAKE_C_IDENTIFIER <input string> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5892
string(GENEX_STRIP <input string> <output variable>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5893
string(UUID <output variable> NAMESPACE <namespace> NAME <name>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5894
       TYPE <MD5|SHA1> [UPPER])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5895
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5896
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5897
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5898
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5899
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5900
REGEX MATCH will match the regular expression once and store the match
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5901
in the output variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5902
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5903
REGEX MATCHALL will match the regular expression as many times as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5904
possible and store the matches in the output variable as a list.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5905
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5906
REGEX REPLACE will match the regular expression as many times as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5907
possible and substitute the replacement expression for the match in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5908
the output.  The replace expression may refer to paren\-delimited
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5909
subexpressions of the match using 1, 2, ..., 9.  Note that two
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5910
backslashes (\e1) are required in CMake code to get a backslash
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5911
through argument parsing.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5912
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5913
REPLACE will replace all occurrences of match_string in the input with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5914
replace_string and store the result in the output.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5915
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5916
CONCAT will concatenate all the input arguments together and store
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5917
the result in the named output variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5918
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5919
MD5, SHA1, SHA224, SHA256, SHA384, and SHA512 will compute a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5920
cryptographic hash of the input string.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5921
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5922
COMPARE EQUAL/NOTEQUAL/LESS/GREATER will compare the strings and store
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5923
true or false in the output variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5924
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5925
ASCII will convert all numbers into corresponding ASCII characters.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5926
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5927
CONFIGURE will transform a string like CONFIGURE_FILE transforms a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5928
file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5929
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5930
TOUPPER/TOLOWER will convert string to upper/lower characters.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5931
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5932
LENGTH will return a given string\(aqs length.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5933
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5934
SUBSTRING will return a substring of a given string. If length is \-1
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5935
the remainder of the string starting at begin will be returned.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5936
If string is shorter than length then end of string is used instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5937
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5938
\fBNOTE:\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5939
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5940
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5941
CMake 3.1 and below reported an error if length pointed past
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5942
the end of string.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5943
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5944
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5945
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5946
STRIP will return a substring of a given string with leading and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5947
trailing spaces removed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5948
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5949
RANDOM will return a random string of given length consisting of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5950
characters from the given alphabet.  Default length is 5 characters
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5951
and default alphabet is all numbers and upper and lower case letters.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5952
If an integer RANDOM_SEED is given, its value will be used to seed the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5953
random number generator.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5954
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5955
FIND will return the position where the given substring was found in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5956
the supplied string.  If the REVERSE flag was used, the command will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5957
search for the position of the last occurrence of the specified
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5958
substring.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5959
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5960
The following characters have special meaning in regular expressions:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5961
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5962
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5963
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5964
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5965
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5966
^         Matches at beginning of input
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5967
$         Matches at end of input
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5968
\&.         Matches any single character
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5969
[ ]       Matches any character(s) inside the brackets
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5970
[^ ]      Matches any character(s) not inside the brackets
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5971
 \-        Inside brackets, specifies an inclusive range between
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5972
          characters on either side e.g. [a\-f] is [abcdef]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5973
          To match a literal \- using brackets, make it the first
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5974
          or the last character e.g. [+*/\-] matches basic
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5975
          mathematical operators.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5976
*         Matches preceding pattern zero or more times
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5977
+         Matches preceding pattern one or more times
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5978
?         Matches preceding pattern zero or once only
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5979
|         Matches a pattern on either side of the |
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5980
()        Saves a matched subexpression, which can be referenced
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5981
          in the REGEX REPLACE operation. Additionally it is saved
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5982
          by all regular expression\-related commands, including
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5983
          e.g. if( MATCHES ), in the variables CMAKE_MATCH_(0..9).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5984
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5985
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5986
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5987
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5988
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5989
\fB*\fP, \fB+\fP and \fB?\fP have higher precedence than concatenation.  | has lower
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5990
precedence than concatenation.  This means that the regular expression
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5991
"^ab+d$" matches "abbd" but not "ababd", and the regular expression
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5992
"^(ab|cd)$" matches "ab" but not "abd".
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5993
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5994
TIMESTAMP will write a string representation of the current date
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5995
and/or time to the output variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5996
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5997
Should the command be unable to obtain a timestamp the output variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5998
will be set to the empty string "".
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  5999
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6000
The optional UTC flag requests the current date/time representation to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6001
be in Coordinated Universal Time (UTC) rather than local time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6002
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6003
The optional <format string> may contain the following format
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6004
specifiers:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6005
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6006
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6007
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6008
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6009
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6010
%d        The day of the current month (01\-31).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6011
%H        The hour on a 24\-hour clock (00\-23).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6012
%I        The hour on a 12\-hour clock (01\-12).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6013
%j        The day of the current year (001\-366).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6014
%m        The month of the current year (01\-12).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6015
%M        The minute of the current hour (00\-59).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6016
%S        The second of the current minute.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6017
          60 represents a leap second. (00\-60)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6018
%U        The week number of the current year (00\-53).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6019
%w        The day of the current week. 0 is Sunday. (0\-6)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6020
%y        The last two digits of the current year (00\-99)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6021
%Y        The current year.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6022
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6023
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6024
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6025
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6026
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6027
Unknown format specifiers will be ignored and copied to the output
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6028
as\-is.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6029
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6030
If no explicit <format string> is given it will default to:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6031
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6032
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6033
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6034
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6035
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6036
%Y\-%m\-%dT%H:%M:%S    for local time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6037
%Y\-%m\-%dT%H:%M:%SZ   for UTC.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6038
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6039
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6040
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6041
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6042
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6043
MAKE_C_IDENTIFIER will write a string which can be used as an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6044
identifier in C.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6045
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6046
\fBGENEX_STRIP\fP will strip any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6047
\fBgenerator expressions\fP from the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6048
\fBinput string\fP and store the result in the \fBoutput variable\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6049
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6050
UUID creates a univerally unique identifier (aka GUID) as per RFC4122
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6051
based on the hash of the combined values of <namespace>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6052
(which itself has to be a valid UUID) and <name>.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6053
The hash algorithm can be either \fBMD5\fP (Version 3 UUID) or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6054
\fBSHA1\fP (Version 5 UUID).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6055
A UUID has the format \fBxxxxxxxx\-xxxx\-xxxx\-xxxx\-xxxxxxxxxxxx\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6056
where each \fIx\fP represents a lower case hexadecimal character.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6057
Where required an uppercase representation can be requested
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6058
with the optional \fBUPPER\fP flag.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6059
.SS target_compile_definitions
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6060
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6061
Add compile definitions to a target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6062
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6063
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6064
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6065
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6066
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6067
target_compile_definitions(<target>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6068
  <INTERFACE|PUBLIC|PRIVATE> [items1...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6069
  [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6070
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6071
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6072
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6073
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6074
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6075
Specify compile definitions to use when compiling a given \fB<target>\fP\&.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6076
named \fB<target>\fP must have been created by a command such as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6077
\fBadd_executable()\fP or \fBadd_library()\fP and must not be an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6078
Imported Target\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6079
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6080
The \fBINTERFACE\fP, \fBPUBLIC\fP and \fBPRIVATE\fP keywords are required to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6081
specify the scope of the following arguments.  \fBPRIVATE\fP and \fBPUBLIC\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6082
items will populate the \fBCOMPILE_DEFINITIONS\fP property of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6083
\fB<target>\fP\&. \fBPUBLIC\fP and \fBINTERFACE\fP items will populate the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6084
\fBINTERFACE_COMPILE_DEFINITIONS\fP property of \fB<target>\fP\&.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6085
following arguments specify compile definitions.  Repeated calls for the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6086
same \fB<target>\fP append items in the order called.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6087
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6088
Arguments to \fBtarget_compile_definitions\fP may use "generator expressions"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6089
with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6090
manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6091
manual for more on defining buildsystem properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6092
.SS target_compile_features
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6093
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6094
Add expected compiler features to a target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6095
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6096
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6097
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6098
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6099
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6100
target_compile_features(<target> <PRIVATE|PUBLIC|INTERFACE> <feature> [...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6101
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6102
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6103
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6104
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6105
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6106
Specify compiler features required when compiling a given target.  If the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6107
feature is not listed in the \fBCMAKE_C_COMPILE_FEATURES\fP variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6108
or \fBCMAKE_CXX_COMPILE_FEATURES\fP variable,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6109
then an error will be reported by CMake.  If the use of the feature requires
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6110
an additional compiler flag, such as \fB\-std=gnu++11\fP, the flag will be added
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6111
automatically.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6112
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6113
The \fBINTERFACE\fP, \fBPUBLIC\fP and \fBPRIVATE\fP keywords are required to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6114
specify the scope of the features.  \fBPRIVATE\fP and \fBPUBLIC\fP items will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6115
populate the \fBCOMPILE_FEATURES\fP property of \fB<target>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6116
\fBPUBLIC\fP and \fBINTERFACE\fP items will populate the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6117
\fBINTERFACE_COMPILE_FEATURES\fP property of \fB<target>\fP\&.  Repeated
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6118
calls for the same \fB<target>\fP append items.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6119
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6120
The named \fB<target>\fP must have been created by a command such as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6121
\fBadd_executable()\fP or \fBadd_library()\fP and must not be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6122
an \fBIMPORTED\fP target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6123
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6124
Arguments to \fBtarget_compile_features\fP may use "generator expressions"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6125
with the syntax \fB$<...>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6126
See the \fBcmake\-generator\-expressions(7)\fP manual for available
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6127
expressions.  See the \fBcmake\-compile\-features(7)\fP manual for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6128
information on compile features and a list of supported compilers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6129
.SS target_compile_options
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6130
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6131
Add compile options to a target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6132
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6133
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6134
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6135
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6136
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6137
target_compile_options(<target> [BEFORE]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6138
  <INTERFACE|PUBLIC|PRIVATE> [items1...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6139
  [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6140
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6141
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6142
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6143
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6144
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6145
Specify compile options to use when compiling a given target.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6146
named \fB<target>\fP must have been created by a command such as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6147
\fBadd_executable()\fP or \fBadd_library()\fP and must not be an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6148
IMPORTED Target\&.  If \fBBEFORE\fP is specified,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6149
the content will be prepended to the property instead of being appended.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6150
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6151
This command can be used to add any options, but
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6152
alternative commands exist to add preprocessor definitions
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6153
(\fBtarget_compile_definitions()\fP and \fBadd_definitions()\fP) or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6154
include directories (\fBtarget_include_directories()\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6155
\fBinclude_directories()\fP).  See documentation of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6156
\fBdirectory\fP and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6157
\fBtarget\fP \fBCOMPILE_OPTIONS\fP properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6158
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6159
The \fBINTERFACE\fP, \fBPUBLIC\fP and \fBPRIVATE\fP keywords are required to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6160
specify the scope of the following arguments.  \fBPRIVATE\fP and \fBPUBLIC\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6161
items will populate the \fBCOMPILE_OPTIONS\fP property of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6162
\fB<target>\fP\&.  \fBPUBLIC\fP and \fBINTERFACE\fP items will populate the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6163
\fBINTERFACE_COMPILE_OPTIONS\fP property of \fB<target>\fP\&.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6164
following arguments specify compile options.  Repeated calls for the same
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6165
\fB<target>\fP append items in the order called.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6166
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6167
Arguments to \fBtarget_compile_options\fP may use "generator expressions"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6168
with the syntax \fB$<...>\fP\&. See the \fBcmake\-generator\-expressions(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6169
manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6170
manual for more on defining buildsystem properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6171
.SS target_include_directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6172
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6173
Add include directories to a target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6174
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6175
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6176
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6177
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6178
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6179
target_include_directories(<target> [SYSTEM] [BEFORE]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6180
  <INTERFACE|PUBLIC|PRIVATE> [items1...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6181
  [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6182
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6183
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6184
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6185
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6186
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6187
Specify include directories to use when compiling a given target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6188
The named \fB<target>\fP must have been created by a command such
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6189
as \fBadd_executable()\fP or \fBadd_library()\fP and must not be an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6190
\fBIMPORTED\fP target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6191
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6192
If \fBBEFORE\fP is specified, the content will be prepended to the property
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6193
instead of being appended.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6194
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6195
The \fBINTERFACE\fP, \fBPUBLIC\fP and \fBPRIVATE\fP keywords are required to specify
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6196
the scope of the following arguments.  \fBPRIVATE\fP and \fBPUBLIC\fP items will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6197
populate the \fBINCLUDE_DIRECTORIES\fP property of \fB<target>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6198
\fBPUBLIC\fP and \fBINTERFACE\fP items will populate the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6199
\fBINTERFACE_INCLUDE_DIRECTORIES\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6200
property of \fB<target>\fP\&.  The following arguments specify include
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6201
directories.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6202
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6203
Specified include directories may be absolute paths or relative paths.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6204
Repeated calls for the same <target> append items in the order called.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6205
\fBSYSTEM\fP is specified, the compiler will be told the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6206
directories are meant as system include directories on some platforms
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6207
(signalling this setting might achieve effects such as the compiler
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6208
skipping warnings, or these fixed\-install system files not being
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6209
considered in dependency calculations \- see compiler docs).  If \fBSYSTEM\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6210
is used together with \fBPUBLIC\fP or \fBINTERFACE\fP, the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6211
\fBINTERFACE_SYSTEM_INCLUDE_DIRECTORIES\fP target property will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6212
populated with the specified directories.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6213
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6214
Arguments to \fBtarget_include_directories\fP may use "generator expressions"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6215
with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6216
manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6217
manual for more on defining buildsystem properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6218
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6219
Include directories usage requirements commonly differ between the build\-tree
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6220
and the install\-tree.  The \fBBUILD_INTERFACE\fP and \fBINSTALL_INTERFACE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6221
generator expressions can be used to describe separate usage requirements
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6222
based on the usage location.  Relative paths are allowed within the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6223
\fBINSTALL_INTERFACE\fP expression and are interpreted relative to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6224
installation prefix.  For example:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6225
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6226
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6227
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6228
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6229
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6230
target_include_directories(mylib PUBLIC
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6231
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/mylib>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6232
  $<INSTALL_INTERFACE:include/mylib>  # <prefix>/include/mylib
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6233
)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6234
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6235
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6236
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6237
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6238
.SS Creating Relocatable Packages
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6239
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6240
Note that it is not advisable to populate the \fBINSTALL_INTERFACE\fP of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6241
\fBINTERFACE_INCLUDE_DIRECTORIES\fP of a target with absolute paths to the include
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6242
directories of dependencies.  That would hard\-code into installed packages
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6243
the include directory paths for dependencies
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6244
\fBas found on the machine the package was made on\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6245
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6246
The \fBINSTALL_INTERFACE\fP of the \fBINTERFACE_INCLUDE_DIRECTORIES\fP is only
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6247
suitable for specifying the required include directories for headers
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6248
provided with the target itself, not those provided by the transitive
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6249
dependencies listed in its \fBINTERFACE_LINK_LIBRARIES\fP target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6250
property.  Those dependencies should themselves be targets that specify
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6251
their own header locations in \fBINTERFACE_INCLUDE_DIRECTORIES\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6252
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6253
See the Creating Relocatable Packages section of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6254
\fBcmake\-packages(7)\fP manual for discussion of additional care
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6255
that must be taken when specifying usage requirements while creating
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6256
packages for redistribution.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6257
.SS target_link_libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6258
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6259
Specify libraries or flags to use when linking a given target and/or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6260
its dependents.  Usage requirements
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6261
from linked library targets will be propagated.  Usage requirements
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6262
of a target\(aqs dependencies affect compilation of its own sources.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6263
.SS Overview
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6264
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6265
This command has several signatures as detailed in subsections below.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6266
All of them have the general form:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6267
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6268
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6269
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6270
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6271
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6272
target_link_libraries(<target> ... <item>... ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6273
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6274
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6275
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6276
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6277
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6278
The named \fB<target>\fP must have been created in the current directory by
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6279
a command such as \fBadd_executable()\fP or \fBadd_library()\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6280
Repeated calls for the same \fB<target>\fP append items in the order called.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6281
Each \fB<item>\fP may be:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6282
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6283
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6284
\fBA library target name\fP: The generated link line will have the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6285
full path to the linkable library file associated with the target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6286
The buildsystem will have a dependency to re\-link \fB<target>\fP if
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6287
the library file changes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6288
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6289
The named target must be created by \fBadd_library()\fP within
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6290
the project or as an IMPORTED library\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6291
If it is created within the project an ordering dependency will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6292
automatically be added in the build system to make sure the named
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6293
library target is up\-to\-date before the \fB<target>\fP links.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6294
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6295
If an imported library has the \fBIMPORTED_NO_SONAME\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6296
target property set, CMake may ask the linker to search for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6297
the library instead of using the full path
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6298
(e.g. \fB/usr/lib/libfoo.so\fP becomes \fB\-lfoo\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6299
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6300
\fBA full path to a library file\fP: The generated link line will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6301
normally preserve the full path to the file. The buildsystem will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6302
have a dependency to re\-link \fB<target>\fP if the library file changes.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6303
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6304
There are some cases where CMake may ask the linker to search for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6305
the library (e.g. \fB/usr/lib/libfoo.so\fP becomes \fB\-lfoo\fP), such
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6306
as when a shared library is detected to have no \fBSONAME\fP field.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6307
See policy \fBCMP0060\fP for discussion of another case.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6308
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6309
If the library file is in a Mac OSX framework, the \fBHeaders\fP directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6310
of the framework will also be processed as a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6311
usage requirement\&.  This has the same
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6312
effect as passing the framework directory as an include directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6313
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6314
\fBA plain library name\fP: The generated link line will ask the linker
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6315
to search for the library (e.g. \fBfoo\fP becomes \fB\-lfoo\fP or \fBfoo.lib\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6316
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6317
\fBA link flag\fP: Item names starting with \fB\-\fP, but not \fB\-l\fP or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6318
\fB\-framework\fP, are treated as linker flags.  Note that such flags will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6319
be treated like any other library link item for purposes of transitive
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6320
dependencies, so they are generally safe to specify only as private link
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6321
items that will not propagate to dependents.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6322
.IP \(bu 2
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6323
A \fBdebug\fP, \fBoptimized\fP, or \fBgeneral\fP keyword immediately followed
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6324
by another \fB<item>\fP\&.  The item following such a keyword will be used
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6325
only for the corresponding build configuration.  The \fBdebug\fP keyword
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6326
corresponds to the \fBDebug\fP configuration (or to configurations named
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6327
in the \fBDEBUG_CONFIGURATIONS\fP global property if it is set).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6328
The \fBoptimized\fP keyword corresponds to all other configurations.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6329
\fBgeneral\fP keyword corresponds to all configurations, and is purely
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6330
optional.  Higher granularity may be achieved for per\-configuration
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6331
rules by creating and linking to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6332
IMPORTED library targets\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6333
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6334
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6335
Items containing \fB::\fP, such as \fBFoo::Bar\fP, are assumed to be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6336
IMPORTED or ALIAS library
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6337
target names and will cause an error if no such target exists.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6338
See policy \fBCMP0028\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6339
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6340
Arguments to \fBtarget_link_libraries\fP may use "generator expressions"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6341
with the syntax \fB$<...>\fP\&.  Note however, that generator expressions
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6342
will not be used in OLD handling of \fBCMP0003\fP or \fBCMP0004\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6343
See the \fBcmake\-generator\-expressions(7)\fP manual for available
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6344
expressions.  See the \fBcmake\-buildsystem(7)\fP manual for more on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6345
defining buildsystem properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6346
.SS Libraries for a Target and/or its Dependents
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6347
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6348
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6349
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6350
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6351
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6352
target_link_libraries(<target>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6353
                      <PRIVATE|PUBLIC|INTERFACE> <item>...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6354
                     [<PRIVATE|PUBLIC|INTERFACE> <item>...]...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6355
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6356
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6357
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6358
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6359
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6360
The \fBPUBLIC\fP, \fBPRIVATE\fP and \fBINTERFACE\fP keywords can be used to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6361
specify both the link dependencies and the link interface in one command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6362
Libraries and targets following \fBPUBLIC\fP are linked to, and are made
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6363
part of the link interface.  Libraries and targets following \fBPRIVATE\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6364
are linked to, but are not made part of the link interface.  Libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6365
following \fBINTERFACE\fP are appended to the link interface and are not
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6366
used for linking \fB<target>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6367
.SS Libraries for both a Target and its Dependents
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6368
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6369
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6370
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6371
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6372
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6373
target_link_libraries(<target> <item>...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6374
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6375
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6376
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6377
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6378
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6379
Library dependencies are transitive by default with this signature.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6380
When this target is linked into another target then the libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6381
linked to this target will appear on the link line for the other
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6382
target too.  This transitive "link interface" is stored in the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6383
\fBINTERFACE_LINK_LIBRARIES\fP target property and may be overridden
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6384
by setting the property directly.  When \fBCMP0022\fP is not set to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6385
\fBNEW\fP, transitive linking is built in but may be overridden by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6386
\fBLINK_INTERFACE_LIBRARIES\fP property.  Calls to other signatures
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6387
of this command may set the property making any libraries linked
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6388
exclusively by this signature private.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6389
.SS Libraries for a Target and/or its Dependents (Legacy)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6390
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6391
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6392
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6393
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6394
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6395
target_link_libraries(<target>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6396
                      <LINK_PRIVATE|LINK_PUBLIC> <lib>...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6397
                     [<LINK_PRIVATE|LINK_PUBLIC> <lib>...]...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6398
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6399
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6400
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6401
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6402
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6403
The \fBLINK_PUBLIC\fP and \fBLINK_PRIVATE\fP modes can be used to specify both
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6404
the link dependencies and the link interface in one command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6405
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6406
This signature is for compatibility only.  Prefer the \fBPUBLIC\fP or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6407
\fBPRIVATE\fP keywords instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6408
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6409
Libraries and targets following \fBLINK_PUBLIC\fP are linked to, and are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6410
made part of the \fBINTERFACE_LINK_LIBRARIES\fP\&.  If policy
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6411
\fBCMP0022\fP is not \fBNEW\fP, they are also made part of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6412
\fBLINK_INTERFACE_LIBRARIES\fP\&.  Libraries and targets following
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6413
\fBLINK_PRIVATE\fP are linked to, but are not made part of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6414
\fBINTERFACE_LINK_LIBRARIES\fP (or \fBLINK_INTERFACE_LIBRARIES\fP).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6415
.SS Libraries for Dependents Only (Legacy)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6416
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6417
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6418
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6419
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6420
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6421
target_link_libraries(<target> LINK_INTERFACE_LIBRARIES <item>...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6422
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6423
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6424
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6425
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6426
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6427
The \fBLINK_INTERFACE_LIBRARIES\fP mode appends the libraries to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6428
\fBINTERFACE_LINK_LIBRARIES\fP target property instead of using them
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6429
for linking.  If policy \fBCMP0022\fP is not \fBNEW\fP, then this mode
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6430
also appends libraries to the \fBLINK_INTERFACE_LIBRARIES\fP and its
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6431
per\-configuration equivalent.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6432
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6433
This signature is for compatibility only.  Prefer the \fBINTERFACE\fP mode
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6434
instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6435
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6436
Libraries specified as \fBdebug\fP are wrapped in a generator expression to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6437
correspond to debug builds.  If policy \fBCMP0022\fP is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6438
not \fBNEW\fP, the libraries are also appended to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6439
\fBLINK_INTERFACE_LIBRARIES_DEBUG\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6440
property (or to the properties corresponding to configurations listed in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6441
the \fBDEBUG_CONFIGURATIONS\fP global property if it is set).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6442
Libraries specified as \fBoptimized\fP are appended to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6443
\fBINTERFACE_LINK_LIBRARIES\fP property.  If policy \fBCMP0022\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6444
is not \fBNEW\fP, they are also appended to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6445
\fBLINK_INTERFACE_LIBRARIES\fP property.  Libraries specified as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6446
\fBgeneral\fP (or without any keyword) are treated as if specified for both
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6447
\fBdebug\fP and \fBoptimized\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6448
.SS Cyclic Dependencies of Static Libraries
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6449
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6450
The library dependency graph is normally acyclic (a DAG), but in the case
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6451
of mutually\-dependent \fBSTATIC\fP libraries CMake allows the graph to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6452
contain cycles (strongly connected components).  When another target links
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6453
to one of the libraries, CMake repeats the entire connected component.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6454
For example, the code
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6455
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6456
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6457
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6458
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6459
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6460
add_library(A STATIC a.c)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6461
add_library(B STATIC b.c)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6462
target_link_libraries(A B)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6463
target_link_libraries(B A)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6464
add_executable(main main.c)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6465
target_link_libraries(main A)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6466
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6467
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6468
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6469
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6470
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6471
links \fBmain\fP to \fBA B A B\fP\&.  While one repetition is usually
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6472
sufficient, pathological object file and symbol arrangements can require
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6473
more.  One may handle such cases by using the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6474
\fBLINK_INTERFACE_MULTIPLICITY\fP target property or by manually
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6475
repeating the component in the last \fBtarget_link_libraries\fP call.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6476
However, if two archives are really so interdependent they should probably
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6477
be combined into a single archive, perhaps by using Object Libraries\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6478
.SS Creating Relocatable Packages
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6479
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6480
Note that it is not advisable to populate the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6481
\fBINTERFACE_LINK_LIBRARIES\fP of a target with absolute paths to dependencies.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6482
That would hard\-code into installed packages the library file paths
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6483
for dependencies \fBas found on the machine the package was made on\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6484
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6485
See the Creating Relocatable Packages section of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6486
\fBcmake\-packages(7)\fP manual for discussion of additional care
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6487
that must be taken when specifying usage requirements while creating
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6488
packages for redistribution.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6489
.SS target_sources
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6490
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6491
Add sources to a target.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6492
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6493
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6494
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6495
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6496
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6497
target_sources(<target>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6498
  <INTERFACE|PUBLIC|PRIVATE> [items1...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6499
  [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6500
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6501
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6502
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6503
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6504
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6505
Specify sources to use when compiling a given target.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6506
named \fB<target>\fP must have been created by a command such as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6507
\fBadd_executable()\fP or \fBadd_library()\fP and must not be an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6508
IMPORTED Target\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6509
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6510
The \fBINTERFACE\fP, \fBPUBLIC\fP and \fBPRIVATE\fP keywords are required to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6511
specify the scope of the following arguments.  \fBPRIVATE\fP and \fBPUBLIC\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6512
items will populate the \fBSOURCES\fP property of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6513
\fB<target>\fP\&.  \fBPUBLIC\fP and \fBINTERFACE\fP items will populate the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6514
\fBINTERFACE_SOURCES\fP property of \fB<target>\fP\&.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6515
following arguments specify sources.  Repeated calls for the same
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6516
\fB<target>\fP append items in the order called.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6517
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6518
Arguments to \fBtarget_sources\fP may use "generator expressions"
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6519
with the syntax \fB$<...>\fP\&. See the \fBcmake\-generator\-expressions(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6520
manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6521
manual for more on defining buildsystem properties.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6522
.SS try_compile
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6523
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6524
Try building some code.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6525
.SS Try Compiling Whole Projects
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6526
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6527
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6528
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6529
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6530
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6531
try_compile(RESULT_VAR <bindir> <srcdir>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6532
            <projectName> [<targetName>] [CMAKE_FLAGS <flags>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6533
            [OUTPUT_VARIABLE <var>])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6534
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6535
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6536
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6537
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6538
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6539
Try building a project.  The success or failure of the \fBtry_compile\fP,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6540
i.e. \fBTRUE\fP or \fBFALSE\fP respectively, is returned in \fBRESULT_VAR\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6541
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6542
In this form, \fB<srcdir>\fP should contain a complete CMake project with a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6543
\fBCMakeLists.txt\fP file and all sources.  The \fB<bindir>\fP and \fB<srcdir>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6544
will not be deleted after this command is run.  Specify \fB<targetName>\fP to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6545
build a specific target instead of the \fBall\fP or \fBALL_BUILD\fP target.  See
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6546
below for the meaning of other options.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6547
.SS Try Compiling Source Files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6548
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6549
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6550
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6551
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6552
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6553
try_compile(RESULT_VAR <bindir> <srcfile|SOURCES srcfile...>
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6554
            [CMAKE_FLAGS <flags>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6555
            [COMPILE_DEFINITIONS <defs>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6556
            [LINK_LIBRARIES <libs>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6557
            [OUTPUT_VARIABLE <var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6558
            [COPY_FILE <fileName> [COPY_FILE_ERROR <var>]])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6559
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6560
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6561
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6562
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6563
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6564
Try building an executable from one or more source files.  The success or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6565
failure of the \fBtry_compile\fP, i.e. \fBTRUE\fP or \fBFALSE\fP respectively, is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6566
returned in \fBRESULT_VAR\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6567
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6568
In this form the user need only supply one or more source files that include a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6569
definition for \fBmain\fP\&.  CMake will create a \fBCMakeLists.txt\fP file to build
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6570
the source(s) as an executable that looks something like this:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6571
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6572
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6573
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6574
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6575
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6576
add_definitions(<expanded COMPILE_DEFINITIONS from caller>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6577
include_directories(${INCLUDE_DIRECTORIES})
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6578
link_directories(${LINK_DIRECTORIES})
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6579
add_executable(cmTryCompileExec <srcfile>...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6580
target_link_libraries(cmTryCompileExec ${LINK_LIBRARIES})
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6581
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6582
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6583
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6584
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6585
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6586
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6587
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6588
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6589
.B \fBCMAKE_FLAGS <flags>...\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6590
Specify flags of the form \fB\-DVAR:TYPE=VALUE\fP to be passed to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6591
the \fBcmake\fP command\-line used to drive the test build.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6592
The above example shows how values for variables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6593
\fBINCLUDE_DIRECTORIES\fP, \fBLINK_DIRECTORIES\fP, and \fBLINK_LIBRARIES\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6594
are used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6595
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6596
.B \fBCOMPILE_DEFINITIONS <defs>...\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6597
Specify \fB\-Ddefinition\fP arguments to pass to \fBadd_definitions\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6598
in the generated test project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6599
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6600
.B \fBCOPY_FILE <fileName>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6601
Copy the linked executable to the given \fB<fileName>\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6602
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6603
.B \fBCOPY_FILE_ERROR <var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6604
Use after \fBCOPY_FILE\fP to capture into variable \fB<var>\fP any error
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6605
message encountered while trying to copy the file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6606
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6607
.B \fBLINK_LIBRARIES <libs>...\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6608
Specify libraries to be linked in the generated project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6609
The list of libraries may refer to system libraries and to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6610
Imported Targets from the calling project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6611
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6612
If this option is specified, any \fB\-DLINK_LIBRARIES=...\fP value
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6613
given to the \fBCMAKE_FLAGS\fP option will be ignored.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6614
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6615
.B \fBOUTPUT_VARIABLE <var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6616
Store the output from the build process the given variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6617
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6618
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6619
In this version all files in \fB<bindir>/CMakeFiles/CMakeTmp\fP will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6620
cleaned automatically.  For debugging, \fB\-\-debug\-trycompile\fP can be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6621
passed to \fBcmake\fP to avoid this clean.  However, multiple sequential
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6622
\fBtry_compile\fP operations reuse this single output directory.  If you use
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6623
\fB\-\-debug\-trycompile\fP, you can only debug one \fBtry_compile\fP call at a time.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6624
The recommended procedure is to protect all \fBtry_compile\fP calls in your
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6625
project by \fBif(NOT DEFINED RESULT_VAR)\fP logic, configure with cmake
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6626
all the way through once, then delete the cache entry associated with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6627
the try_compile call of interest, and then re\-run cmake again with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6628
\fB\-\-debug\-trycompile\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6629
.SS Other Behavior Settings
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6630
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6631
Set the \fBCMAKE_TRY_COMPILE_CONFIGURATION\fP variable to choose
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6632
a build configuration.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6633
.SS try_run
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6634
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6635
Try compiling and then running some code.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6636
.SS Try Compiling and Running Source Files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6637
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6638
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6639
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6640
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6641
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6642
try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6643
        bindir srcfile [CMAKE_FLAGS <flags>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6644
        [COMPILE_DEFINITIONS <defs>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6645
        [LINK_LIBRARIES <libs>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6646
        [COMPILE_OUTPUT_VARIABLE <var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6647
        [RUN_OUTPUT_VARIABLE <var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6648
        [OUTPUT_VARIABLE <var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6649
        [ARGS <args>...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6650
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6651
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6652
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6653
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6654
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6655
Try compiling a \fB<srcfile>\fP\&.  Returns \fBTRUE\fP or \fBFALSE\fP for success
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6656
or failure in \fBCOMPILE_RESULT_VAR\fP\&.  If the compile succeeded, runs the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6657
executable and returns its exit code in \fBRUN_RESULT_VAR\fP\&.  If the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6658
executable was built, but failed to run, then \fBRUN_RESULT_VAR\fP will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6659
set to \fBFAILED_TO_RUN\fP\&.  See the \fBtry_compile()\fP command for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6660
information on how the test project is constructed to build the source file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6661
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6662
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6663
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6664
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6665
.B \fBCMAKE_FLAGS <flags>...\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6666
Specify flags of the form \fB\-DVAR:TYPE=VALUE\fP to be passed to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6667
the \fBcmake\fP command\-line used to drive the test build.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6668
The example in \fBtry_compile()\fP shows how values for variables
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6669
\fBINCLUDE_DIRECTORIES\fP, \fBLINK_DIRECTORIES\fP, and \fBLINK_LIBRARIES\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6670
are used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6671
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6672
.B \fBCOMPILE_DEFINITIONS <defs>...\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6673
Specify \fB\-Ddefinition\fP arguments to pass to \fBadd_definitions\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6674
in the generated test project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6675
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6676
.B \fBCOMPILE_OUTPUT_VARIABLE <var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6677
Report the compile step build output in a given variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6678
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6679
.B \fBLINK_LIBRARIES <libs>...\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6680
Specify libraries to be linked in the generated project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6681
The list of libraries may refer to system libraries and to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6682
Imported Targets from the calling project.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6683
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6684
If this option is specified, any \fB\-DLINK_LIBRARIES=...\fP value
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6685
given to the \fBCMAKE_FLAGS\fP option will be ignored.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6686
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6687
.B \fBOUTPUT_VARIABLE <var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6688
Report the compile build output and the output from running the executable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6689
in the given variable.  This option exists for legacy reasons.  Prefer
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6690
\fBCOMPILE_OUTPUT_VARIABLE\fP and \fBRUN_OUTPUT_VARIABLE\fP instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6691
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6692
.B \fBRUN_OUTPUT_VARIABLE <var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6693
Report the output from running the executable in a given variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6694
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6695
.SS Other Behavior Settings
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6696
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6697
Set the \fBCMAKE_TRY_COMPILE_CONFIGURATION\fP variable to choose
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6698
a build configuration.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6699
.SS Behavior when Cross Compiling
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6700
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6701
When cross compiling, the executable compiled in the first step
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6702
usually cannot be run on the build host.  The \fBtry_run\fP command checks
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6703
the \fBCMAKE_CROSSCOMPILING\fP variable to detect whether CMake is in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6704
cross\-compiling mode.  If that is the case, it will still try to compile
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6705
the executable, but it will not try to run the executable unless the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6706
\fBCMAKE_CROSSCOMPILING_EMULATOR\fP variable is set.  Instead it
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6707
will create cache variables which must be filled by the user or by
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6708
presetting them in some CMake script file to the values the executable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6709
would have produced if it had been run on its actual target platform.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6710
These cache entries are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6711
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6712
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6713
.B \fB<RUN_RESULT_VAR>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6714
Exit code if the executable were to be run on the target platform.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6715
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6716
.B \fB<RUN_RESULT_VAR>__TRYRUN_OUTPUT\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6717
Output from stdout and stderr if the executable were to be run on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6718
the target platform.  This is created only if the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6719
\fBRUN_OUTPUT_VARIABLE\fP or \fBOUTPUT_VARIABLE\fP option was used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6720
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6721
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6722
In order to make cross compiling your project easier, use \fBtry_run\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6723
only if really required.  If you use \fBtry_run\fP, use the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6724
\fBRUN_OUTPUT_VARIABLE\fP or \fBOUTPUT_VARIABLE\fP options only if really
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6725
required.  Using them will require that when cross\-compiling, the cache
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6726
variables will have to be set manually to the output of the executable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6727
You can also "guard" the calls to \fBtry_run\fP with an \fBif()\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6728
block checking the \fBCMAKE_CROSSCOMPILING\fP variable and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6729
provide an easy\-to\-preset alternative for this case.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6730
.SS unset
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6731
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6732
Unset a variable, cache variable, or environment variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6733
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6734
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6735
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6736
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6737
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6738
unset(<variable> [CACHE | PARENT_SCOPE])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6739
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6740
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6741
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6742
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6743
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6744
Removes the specified variable causing it to become undefined.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6745
CACHE is present then the variable is removed from the cache instead
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6746
of the current scope.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6747
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6748
If PARENT_SCOPE is present then the variable is removed from the scope
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6749
above the current scope.  See the same option in the set() command for
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6750
further details.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6751
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6752
<variable> can be an environment variable such as:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6753
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6754
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6755
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6756
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6757
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6758
unset(ENV{LD_LIBRARY_PATH})
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6759
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6760
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6761
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6762
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6763
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6764
in which case the variable will be removed from the current
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6765
environment.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6766
.SS variable_watch
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6767
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6768
Watch the CMake variable for change.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6769
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6770
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6771
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6772
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6773
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6774
variable_watch(<variable name> [<command to execute>])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6775
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6776
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6777
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6778
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6779
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6780
If the specified variable changes, the message will be printed about
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6781
the variable being changed.  If the command is specified, the command
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6782
will be executed.  The command will receive the following arguments:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6783
COMMAND(<variable> <access> <value> <current list file> <stack>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6784
.SS while
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6785
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6786
Evaluate a group of commands while a condition is true
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6787
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6788
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6789
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6790
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6791
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6792
while(condition)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6793
  COMMAND1(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6794
  COMMAND2(ARGS ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6795
  ...
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6796
endwhile(condition)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6797
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6798
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6799
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6800
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6801
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6802
All commands between while and the matching endwhile are recorded
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6803
without being invoked.  Once the endwhile is evaluated, the recorded
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6804
list of commands is invoked as long as the condition is true.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6805
condition is evaluated using the same logic as the if command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6806
.SH DEPRECATED COMMANDS
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6807
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6808
These commands are available only for compatibility with older
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6809
versions of CMake.  Do not use them in new code.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6810
.SS build_name
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6811
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6812
Disallowed.  See CMake Policy \fBCMP0036\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6813
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6814
Use ${CMAKE_SYSTEM} and ${CMAKE_CXX_COMPILER} instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6815
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6816
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6817
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6818
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6819
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6820
build_name(variable)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6821
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6822
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6823
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6824
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6825
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6826
Sets the specified variable to a string representing the platform and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6827
compiler settings.  These values are now available through the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6828
CMAKE_SYSTEM and CMAKE_CXX_COMPILER variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6829
.SS exec_program
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6830
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6831
Deprecated.  Use the execute_process() command instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6832
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6833
Run an executable program during the processing of the CMakeList.txt
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6834
file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6835
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6836
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6837
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6838
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6839
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6840
exec_program(Executable [directory in which to run]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6841
             [ARGS <arguments to executable>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6842
             [OUTPUT_VARIABLE <var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6843
             [RETURN_VALUE <var>])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6844
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6845
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6846
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6847
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6848
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6849
The executable is run in the optionally specified directory.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6850
executable can include arguments if it is double quoted, but it is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6851
better to use the optional ARGS argument to specify arguments to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6852
program.  This is because cmake will then be able to escape spaces in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6853
the executable path.  An optional argument OUTPUT_VARIABLE specifies a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6854
variable in which to store the output.  To capture the return value of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6855
the execution, provide a RETURN_VALUE.  If OUTPUT_VARIABLE is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6856
specified, then no output will go to the stdout/stderr of the console
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6857
running cmake.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6858
.SS export_library_dependencies
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6859
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6860
Disallowed.  See CMake Policy \fBCMP0033\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6861
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6862
Use \fBinstall(EXPORT)\fP or \fBexport()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6863
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6864
This command generates an old\-style library dependencies file.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6865
Projects requiring CMake 2.6 or later should not use the command.  Use
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6866
instead the install(EXPORT) command to help export targets from an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6867
installation tree and the export() command to export targets from a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6868
build tree.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6869
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6870
The old\-style library dependencies file does not take into account
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6871
per\-configuration names of libraries or the LINK_INTERFACE_LIBRARIES
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6872
target property.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6873
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6874
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6875
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6876
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6877
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6878
export_library_dependencies(<file> [APPEND])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6879
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6880
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6881
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6882
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6883
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6884
Create a file named <file> that can be included into a CMake listfile
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6885
with the INCLUDE command.  The file will contain a number of SET
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6886
commands that will set all the variables needed for library dependency
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6887
information.  This should be the last command in the top level
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6888
CMakeLists.txt file of the project.  If the APPEND option is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6889
specified, the SET commands will be appended to the given file instead
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6890
of replacing it.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6891
.SS install_files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6892
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6893
Deprecated.  Use the install(FILES ) command instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6894
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6895
This command has been superceded by the install command.  It is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6896
provided for compatibility with older CMake code.  The FILES form is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6897
directly replaced by the FILES form of the install command.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6898
regexp form can be expressed more clearly using the GLOB form of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6899
file command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6900
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6901
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6902
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6903
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6904
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6905
install_files(<dir> extension file file ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6906
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6907
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6908
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6909
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6910
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6911
Create rules to install the listed files with the given extension into
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6912
the given directory.  Only files existing in the current source tree
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6913
or its corresponding location in the binary tree may be listed.  If a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6914
file specified already has an extension, that extension will be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6915
removed first.  This is useful for providing lists of source files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6916
such as foo.cxx when you want the corresponding foo.h to be installed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6917
A typical extension is \(aq.h\(aq.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6918
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6919
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6920
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6921
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6922
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6923
install_files(<dir> regexp)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6924
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6925
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6926
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6927
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6928
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6929
Any files in the current source directory that match the regular
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6930
expression will be installed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6931
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6932
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6933
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6934
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6935
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6936
install_files(<dir> FILES file file ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6937
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6938
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6939
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6940
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6941
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6942
Any files listed after the FILES keyword will be installed explicitly
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6943
from the names given.  Full paths are allowed in this form.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6944
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6945
The directory <dir> is relative to the installation prefix, which is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6946
stored in the variable CMAKE_INSTALL_PREFIX.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6947
.SS install_programs
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6948
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6949
Deprecated. Use the install(PROGRAMS ) command instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6950
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6951
This command has been superceded by the install command.  It is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6952
provided for compatibility with older CMake code.  The FILES form is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6953
directly replaced by the PROGRAMS form of the INSTALL command.  The
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6954
regexp form can be expressed more clearly using the GLOB form of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6955
FILE command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6956
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6957
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6958
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6959
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6960
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6961
install_programs(<dir> file1 file2 [file3 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6962
install_programs(<dir> FILES file1 [file2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6963
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6964
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6965
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6966
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6967
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6968
Create rules to install the listed programs into the given directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6969
Use the FILES argument to guarantee that the file list version of the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6970
command will be used even when there is only one argument.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6971
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6972
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6973
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6974
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6975
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6976
install_programs(<dir> regexp)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6977
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6978
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6979
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6980
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6981
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6982
In the second form any program in the current source directory that
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6983
matches the regular expression will be installed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6984
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6985
This command is intended to install programs that are not built by
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6986
cmake, such as shell scripts.  See the TARGETS form of the INSTALL
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6987
command to create installation rules for targets built by cmake.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6988
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6989
The directory <dir> is relative to the installation prefix, which is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6990
stored in the variable CMAKE_INSTALL_PREFIX.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6991
.SS install_targets
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6992
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6993
Deprecated. Use the install(TARGETS )  command instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6994
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6995
This command has been superceded by the install command.  It is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6996
provided for compatibility with older CMake code.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6997
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6998
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  6999
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7000
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7001
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7002
install_targets(<dir> [RUNTIME_DIRECTORY dir] target target)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7003
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7004
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7005
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7006
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7007
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7008
Create rules to install the listed targets into the given directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7009
The directory <dir> is relative to the installation prefix, which is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7010
stored in the variable CMAKE_INSTALL_PREFIX.  If RUNTIME_DIRECTORY is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7011
specified, then on systems with special runtime files (Windows DLL),
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7012
the files will be copied to that directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7013
.SS make_directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7014
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7015
Deprecated. Use the file(MAKE_DIRECTORY ) command instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7016
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7017
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7018
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7019
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7020
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7021
make_directory(directory)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7022
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7023
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7024
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7025
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7026
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7027
Creates the specified directory.  Full paths should be given.  Any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7028
parent directories that do not exist will also be created.  Use with
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7029
care.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7030
.SS output_required_files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7031
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7032
Disallowed.  See CMake Policy \fBCMP0032\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7033
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7034
Approximate C preprocessor dependency scanning.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7035
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7036
This command exists only because ancient CMake versions provided it.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7037
CMake handles preprocessor dependency scanning automatically using a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7038
more advanced scanner.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7039
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7040
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7041
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7042
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7043
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7044
output_required_files(srcfile outputfile)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7045
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7046
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7047
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7048
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7049
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7050
Outputs a list of all the source files that are required by the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7051
specified srcfile.  This list is written into outputfile.  This is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7052
similar to writing out the dependencies for srcfile except that it
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7053
jumps from .h files into .cxx, .c and .cpp files if possible.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7054
.SS remove
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7055
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7056
Deprecated. Use the list(REMOVE_ITEM ) command instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7057
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7058
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7059
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7060
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7061
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7062
remove(VAR VALUE VALUE ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7063
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7064
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7065
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7066
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7067
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7068
Removes VALUE from the variable VAR.  This is typically used to remove
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7069
entries from a vector (e.g.  semicolon separated list).  VALUE is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7070
expanded.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7071
.SS subdir_depends
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7072
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7073
Disallowed.  See CMake Policy \fBCMP0029\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7074
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7075
Does nothing.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7076
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7077
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7078
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7079
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7080
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7081
subdir_depends(subdir dep1 dep2 ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7082
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7083
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7084
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7085
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7086
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7087
Does not do anything.  This command used to help projects order
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7088
parallel builds correctly.  This functionality is now automatic.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7089
.SS subdirs
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7090
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7091
Deprecated. Use the add_subdirectory() command instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7092
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7093
Add a list of subdirectories to the build.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7094
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7095
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7096
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7097
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7098
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7099
subdirs(dir1 dir2 ...[EXCLUDE_FROM_ALL exclude_dir1 exclude_dir2 ...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7100
        [PREORDER] )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7101
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7102
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7103
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7104
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7105
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7106
Add a list of subdirectories to the build.  The add_subdirectory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7107
command should be used instead of subdirs although subdirs will still
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7108
work.  This will cause any CMakeLists.txt files in the sub directories
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7109
to be processed by CMake.  Any directories after the PREORDER flag are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7110
traversed first by makefile builds, the PREORDER flag has no effect on
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7111
IDE projects.  Any directories after the EXCLUDE_FROM_ALL marker will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7112
not be included in the top level makefile or project file.  This is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7113
useful for having CMake create makefiles or projects for a set of
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7114
examples in a project.  You would want CMake to generate makefiles or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7115
project files for all the examples at the same time, but you would not
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7116
want them to show up in the top level project or be built each time
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7117
make is run from the top.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7118
.SS use_mangled_mesa
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7119
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7120
Disallowed.  See CMake Policy \fBCMP0030\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7121
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7122
Copy mesa headers for use in combination with system GL.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7123
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7124
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7125
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7126
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7127
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7128
use_mangled_mesa(PATH_TO_MESA OUTPUT_DIRECTORY)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7129
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7130
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7131
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7132
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7133
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7134
The path to mesa includes, should contain gl_mangle.h.  The mesa
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7135
headers are copied to the specified output directory.  This allows
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7136
mangled mesa headers to override other GL headers by being added to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7137
the include directory path earlier.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7138
.SS utility_source
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7139
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7140
Disallowed.  See CMake Policy \fBCMP0034\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7141
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7142
Specify the source tree of a third\-party utility.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7143
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7144
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7145
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7146
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7147
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7148
utility_source(cache_entry executable_name
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7149
               path_to_source [file1 file2 ...])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7150
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7151
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7152
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7153
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7154
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7155
When a third\-party utility\(aqs source is included in the distribution,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7156
this command specifies its location and name.  The cache entry will
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7157
not be set unless the path_to_source and all listed files exist.  It
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7158
is assumed that the source tree of the utility will have been built
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7159
before it is needed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7160
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7161
When cross compiling CMake will print a warning if a utility_source()
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7162
command is executed, because in many cases it is used to build an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7163
executable which is executed later on.  This doesn\(aqt work when cross
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7164
compiling, since the executable can run only on their target platform.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7165
So in this case the cache entry has to be adjusted manually so it
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7166
points to an executable which is runnable on the build host.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7167
.SS variable_requires
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7168
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7169
Disallowed.  See CMake Policy \fBCMP0035\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7170
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7171
Use the if() command instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7172
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7173
Assert satisfaction of an option\(aqs required variables.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7174
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7175
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7176
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7177
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7178
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7179
variable_requires(TEST_VARIABLE RESULT_VARIABLE
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7180
                  REQUIRED_VARIABLE1
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7181
                  REQUIRED_VARIABLE2 ...)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7182
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7183
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7184
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7185
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7186
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7187
The first argument (TEST_VARIABLE) is the name of the variable to be
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7188
tested, if that variable is false nothing else is done.  If
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7189
TEST_VARIABLE is true, then the next argument (RESULT_VARIABLE) is a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7190
variable that is set to true if all the required variables are set.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7191
The rest of the arguments are variables that must be true or not set
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7192
to NOTFOUND to avoid an error.  If any are not true, an error is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7193
reported.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7194
.SS write_file
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7195
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7196
Deprecated. Use the file(WRITE ) command instead.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7197
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7198
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7199
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7200
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7201
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7202
write_file(filename "message to write"... [APPEND])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7203
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7204
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7205
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7206
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7207
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7208
The first argument is the file name, the rest of the arguments are
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7209
messages to write.  If the argument APPEND is specified, then the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7210
message will be appended.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7211
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7212
NOTE 1: file(WRITE ...  and file(APPEND ...  do exactly the same as
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7213
this one but add some more functionality.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7214
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7215
NOTE 2: When using write_file the produced file cannot be used as an
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7216
input to CMake (CONFIGURE_FILE, source file ...) because it will lead
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7217
to an infinite loop.  Use configure_file if you want to generate input
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7218
files to CMake.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7219
.SH CTEST COMMANDS
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7220
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7221
These commands are available only in ctest scripts.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7222
.SS ctest_build
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7223
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7224
Perform the CTest Build Step as a Dashboard Client\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7225
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7226
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7227
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7228
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7229
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7230
ctest_build([BUILD <build\-dir>] [APPEND]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7231
            [CONFIGURATION <config>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7232
            [FLAGS <flags>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7233
            [PROJECT_NAME <project\-name>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7234
            [TARGET <target\-name>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7235
            [NUMBER_ERRORS <num\-err\-var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7236
            [NUMBER_WARNINGS <num\-warn\-var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7237
            [RETURN_VALUE <result\-var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7238
            )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7239
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7240
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7241
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7242
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7243
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7244
Build the project and store results in \fBBuild.xml\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7245
for submission with the \fBctest_submit()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7246
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7247
The \fBCTEST_BUILD_COMMAND\fP variable may be set to explicitly
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7248
specify the build command line.  Otherwise the build command line is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7249
computed automatically based on the options given.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7250
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7251
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7252
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7253
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7254
.B \fBBUILD <build\-dir>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7255
Specify the top\-level build directory.  If not given, the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7256
\fBCTEST_BINARY_DIRECTORY\fP variable is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7257
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7258
.B \fBAPPEND\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7259
Mark results for append to those previously submitted to a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7260
dashboard server since the last \fBctest_start()\fP call.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7261
Append semantics are defined by the dashboard server in use.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7262
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7263
.B \fBCONFIGURATION <config>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7264
Specify the build configuration (e.g. \fBDebug\fP).  If not
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7265
specified the \fBCTEST_BUILD_CONFIGURATION\fP variable will be checked.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7266
Otherwise the \fB\-C <cfg>\fP option given to the \fBctest(1)\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7267
command will be used, if any.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7268
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7269
.B \fBFLAGS <flags>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7270
Pass additional arguments to the underlying build command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7271
If not specified the \fBCTEST_BUILD_FLAGS\fP variable will be checked.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7272
This can, e.g., be used to trigger a parallel build using the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7273
\fB\-j\fP option of make. See the \fBProcessorCount\fP module
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7274
for an example.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7275
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7276
.B \fBPROJECT_NAME <project\-name>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7277
Set the name of the project to build.  This should correspond
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7278
to the top\-level call to the \fBproject()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7279
If not specified the \fBCTEST_PROJECT_NAME\fP variable will be checked.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7280
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7281
.B \fBTARGET <target\-name>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7282
Specify the name of a target to build.  If not specified the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7283
\fBCTEST_BUILD_TARGET\fP variable will be checked.  Otherwise the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7284
default target will be built.  This is the "all" target
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7285
(called \fBALL_BUILD\fP in Visual Studio Generators).
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7286
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7287
.B \fBNUMBER_ERRORS <num\-err\-var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7288
Store the number of build errors detected in the given variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7289
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7290
.B \fBNUMBER_WARNINGS <num\-warn\-var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7291
Store the number of build warnings detected in the given variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7292
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7293
.B \fBRETURN_VALUE <result\-var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7294
Store the return value of the native build tool in the given variable.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7295
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7296
.B \fBQUIET\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7297
Suppress any CTest\-specific non\-error output that would have been
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7298
printed to the console otherwise.  The summary of warnings / errors,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7299
as well as the output from the native build tool is unaffected by
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7300
this option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7301
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7302
.SS ctest_configure
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7303
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7304
Perform the CTest Configure Step as a Dashboard Client\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7305
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7306
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7307
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7308
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7309
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7310
ctest_configure([BUILD <build\-dir>] [SOURCE <source\-dir>] [APPEND]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7311
                [OPTIONS <options>] [RETURN_VALUE <result\-var>] [QUIET])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7312
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7313
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7314
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7315
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7316
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7317
Configure the project build tree and record results in \fBConfigure.xml\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7318
for submission with the \fBctest_submit()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7319
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7320
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7321
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7322
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7323
.B \fBBUILD <build\-dir>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7324
Specify the top\-level build directory.  If not given, the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7325
\fBCTEST_BINARY_DIRECTORY\fP variable is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7326
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7327
.B \fBSOURCE <source\-dir>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7328
Specify the source directory.  If not given, the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7329
\fBCTEST_SOURCE_DIRECTORY\fP variable is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7330
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7331
.B \fBAPPEND\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7332
Mark results for append to those previously submitted to a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7333
dashboard server since the last \fBctest_start()\fP call.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7334
Append semantics are defined by the dashboard server in use.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7335
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7336
.B \fBOPTIONS <options>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7337
Specify command\-line arguments to pass to the configuration tool.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7338
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7339
.B \fBRETURN_VALUE <result\-var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7340
Store in the \fB<result\-var>\fP variable the return value of the native
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7341
configuration tool.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7342
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7343
.B \fBQUIET\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7344
Suppress any CTest\-specific non\-error messages that would have
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7345
otherwise been printed to the console.  Output from the underlying
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7346
configure command is not affected.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7347
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7348
.SS ctest_coverage
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7349
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7350
Perform the CTest Coverage Step as a Dashboard Client\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7351
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7352
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7353
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7354
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7355
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7356
ctest_coverage([BUILD <build\-dir>] [APPEND]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7357
               [LABELS <label>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7358
               [RETURN_VALUE <result\-var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7359
               [QUIET]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7360
               )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7361
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7362
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7363
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7364
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7365
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7366
Collect coverage tool results and stores them in \fBCoverage.xml\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7367
for submission with the \fBctest_submit()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7368
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7369
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7370
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7371
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7372
.B \fBBUILD <build\-dir>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7373
Specify the top\-level build directory.  If not given, the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7374
\fBCTEST_BINARY_DIRECTORY\fP variable is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7375
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7376
.B \fBAPPEND\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7377
Mark results for append to those previously submitted to a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7378
dashboard server since the last \fBctest_start()\fP call.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7379
Append semantics are defined by the dashboard server in use.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7380
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7381
.B \fBLABELS\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7382
Filter the coverage report to include only source files labeled
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7383
with at least one of the labels specified.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7384
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7385
.B \fBRETURN_VALUE <result\-var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7386
Store in the \fB<result\-var>\fP variable \fB0\fP if coverage tools
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7387
ran without error and non\-zero otherwise.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7388
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7389
.B \fBQUIET\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7390
Suppress any CTest\-specific non\-error output that would have been
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7391
printed to the console otherwise.  The summary indicating how many
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7392
lines of code were covered is unaffected by this option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7393
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7394
.SS ctest_empty_binary_directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7395
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7396
empties the binary directory
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7397
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7398
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7399
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7400
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7401
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7402
ctest_empty_binary_directory( directory )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7403
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7404
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7405
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7406
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7407
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7408
Removes a binary directory.  This command will perform some checks
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7409
prior to deleting the directory in an attempt to avoid malicious or
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7410
accidental directory deletion.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7411
.SS ctest_memcheck
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7412
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7413
Perform the CTest MemCheck Step as a Dashboard Client\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7414
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7415
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7416
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7417
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7418
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7419
ctest_memcheck([BUILD <build\-dir>] [APPEND]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7420
               [START <start\-number>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7421
               [END <end\-number>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7422
               [STRIDE <stride\-number>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7423
               [EXCLUDE <exclude\-regex>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7424
               [INCLUDE <include\-regex>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7425
               [EXCLUDE_LABEL <label\-exclude\-regex>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7426
               [INCLUDE_LABEL <label\-include\-regex>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7427
               [PARALLEL_LEVEL <level>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7428
               [SCHEDULE_RANDOM <ON|OFF>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7429
               [STOP_TIME <time\-of\-day>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7430
               [RETURN_VALUE <result\-var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7431
               [QUIET]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7432
               )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7433
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7434
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7435
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7436
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7437
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7438
Run tests with a dynamic analysis tool and store results in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7439
\fBMemCheck.xml\fP for submission with the \fBctest_submit()\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7440
command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7441
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7442
The options are the same as those for the \fBctest_test()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7443
.SS ctest_read_custom_files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7444
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7445
read CTestCustom files.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7446
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7447
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7448
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7449
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7450
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7451
ctest_read_custom_files( directory ... )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7452
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7453
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7454
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7455
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7456
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7457
Read all the CTestCustom.ctest or CTestCustom.cmake files from the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7458
given directory.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7459
.SS ctest_run_script
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7460
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7461
runs a ctest \-S script
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7462
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7463
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7464
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7465
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7466
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7467
ctest_run_script([NEW_PROCESS] script_file_name script_file_name1
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7468
            script_file_name2 ... [RETURN_VALUE var])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7469
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7470
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7471
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7472
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7473
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7474
Runs a script or scripts much like if it was run from ctest \-S.  If no
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7475
argument is provided then the current script is run using the current
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7476
settings of the variables.  If NEW_PROCESS is specified then each
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7477
script will be run in a separate process.If RETURN_VALUE is specified
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7478
the return value of the last script run will be put into var.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7479
.SS ctest_sleep
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7480
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7481
sleeps for some amount of time
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7482
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7483
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7484
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7485
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7486
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7487
ctest_sleep(<seconds>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7488
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7489
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7490
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7491
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7492
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7493
Sleep for given number of seconds.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7494
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7495
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7496
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7497
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7498
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7499
ctest_sleep(<time1> <duration> <time2>)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7500
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7501
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7502
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7503
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7504
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7505
Sleep for t=(time1 + duration \- time2) seconds if t > 0.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7506
.SS ctest_start
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7507
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7508
Starts the testing for a given model
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7509
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7510
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7511
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7512
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7513
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7514
ctest_start(Model [TRACK <track>] [APPEND] [source [binary]] [QUIET])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7515
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7516
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7517
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7518
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7519
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7520
Starts the testing for a given model.  The command should be called
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7521
after the binary directory is initialized.  If the \(aqsource\(aq and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7522
\(aqbinary\(aq directory are not specified, it reads the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7523
\fBCTEST_SOURCE_DIRECTORY\fP and \fBCTEST_BINARY_DIRECTORY\fP\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7524
If the track is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7525
specified, the submissions will go to the specified track.  If APPEND
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7526
is used, the existing TAG is used rather than creating a new one based
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7527
on the current time stamp.  If QUIET is used, CTest will suppress any
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7528
non\-error messages that it otherwise would have printed to the console.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7529
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7530
If the \fBCTEST_CHECKOUT_COMMAND\fP variable
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7531
(or the \fBCTEST_CVS_CHECKOUT\fP variable)
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7532
is set, its content is treated as command\-line.  The command is
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7533
invoked with the current working directory set to the parent of the source
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7534
directory, even if the source directory already exists.  This can be used
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7535
to create the source tree from a version control repository.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7536
.SS ctest_submit
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7537
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7538
Perform the CTest Submit Step as a Dashboard Client\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7539
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7540
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7541
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7542
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7543
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7544
ctest_submit([PARTS <part>...] [FILES <file>...]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7545
             [RETRY_COUNT <count>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7546
             [RETRY_DELAY <delay>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7547
             [RETURN_VALUE <result\-var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7548
             [QUIET]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7549
             )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7550
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7551
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7552
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7553
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7554
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7555
Submit results to a dashboard server.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7556
By default all available parts are submitted.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7557
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7558
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7559
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7560
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7561
.B \fBPARTS <part>...\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7562
Specify a subset of parts to submit.  Valid part names are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7563
.INDENT 7.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7564
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7565
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7566
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7567
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7568
Start      = nothing
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7569
Update     = ctest_update results, in Update.xml
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7570
Configure  = ctest_configure results, in Configure.xml
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7571
Build      = ctest_build results, in Build.xml
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7572
Test       = ctest_test results, in Test.xml
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7573
Coverage   = ctest_coverage results, in Coverage.xml
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7574
MemCheck   = ctest_memcheck results, in DynamicAnalysis.xml
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7575
Notes      = Files listed by CTEST_NOTES_FILES, in Notes.xml
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7576
ExtraFiles = Files listed by CTEST_EXTRA_SUBMIT_FILES
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7577
Upload     = Files prepared for upload by ctest_upload(), in Upload.xml
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7578
Submit     = nothing
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7579
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7580
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7581
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7582
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7583
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7584
.B \fBFILES <file>...\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7585
Specify an explicit list of specific files to be submitted.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7586
Each individual file must exist at the time of the call.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7587
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7588
.B \fBRETRY_COUNT <count>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7589
Specify how many times to retry a timed\-out submission.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7590
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7591
.B \fBRETRY_DELAY <delay>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7592
Specify how long (in seconds) to wait after a timed\-out submission
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7593
before attempting to re\-submit.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7594
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7595
.B \fBRETURN_VALUE <result\-var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7596
Store in the \fB<result\-var>\fP variable \fB0\fP for success and
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7597
non\-zero on failure.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7598
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7599
.B \fBQUIET\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7600
Suppress all non\-error messages that would have otherwise been
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7601
printed to the console.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7602
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7603
.SS Submit to CDash Upload API
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7604
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7605
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7606
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7607
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7608
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7609
ctest_submit(CDASH_UPLOAD <file> [CDASH_UPLOAD_TYPE <type>])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7610
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7611
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7612
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7613
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7614
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7615
This second signature is used to upload files to CDash via the CDash
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7616
file upload API. The api first sends a request to upload to CDash along
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7617
with a content hash of the file. If CDash does not already have the file,
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7618
then it is uploaded. Along with the file, a CDash type string is specified
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7619
to tell CDash which handler to use to process the data.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7620
.SS ctest_test
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7621
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7622
Perform the CTest Test Step as a Dashboard Client\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7623
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7624
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7625
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7626
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7627
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7628
ctest_test([BUILD <build\-dir>] [APPEND]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7629
           [START <start\-number>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7630
           [END <end\-number>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7631
           [STRIDE <stride\-number>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7632
           [EXCLUDE <exclude\-regex>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7633
           [INCLUDE <include\-regex>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7634
           [EXCLUDE_LABEL <label\-exclude\-regex>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7635
           [INCLUDE_LABEL <label\-include\-regex>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7636
           [PARALLEL_LEVEL <level>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7637
           [SCHEDULE_RANDOM <ON|OFF>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7638
           [STOP_TIME <time\-of\-day>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7639
           [RETURN_VALUE <result\-var>]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7640
           [QUIET]
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7641
           )
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7642
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7643
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7644
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7645
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7646
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7647
Run tests in the project build tree and store results in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7648
\fBTest.xml\fP for submission with the \fBctest_submit()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7649
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7650
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7651
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7652
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7653
.B \fBBUILD <build\-dir>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7654
Specify the top\-level build directory.  If not given, the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7655
\fBCTEST_BINARY_DIRECTORY\fP variable is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7656
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7657
.B \fBAPPEND\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7658
Mark results for append to those previously submitted to a
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7659
dashboard server since the last \fBctest_start()\fP call.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7660
Append semantics are defined by the dashboard server in use.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7661
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7662
.B \fBSTART <start\-number>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7663
Specify the beginning of a range of test numbers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7664
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7665
.B \fBEND <end\-number>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7666
Specify the end of a range of test numbers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7667
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7668
.B \fBSTRIDE <stride\-number>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7669
Specify the stride by which to step acorss a range of test numbers.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7670
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7671
.B \fBEXCLUDE <exclude\-regex>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7672
Specify a regular expression matching test names to exclude.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7673
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7674
.B \fBINCLUDE <include\-regex>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7675
Specify a regular expression matching test names to include.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7676
Tests not matching this expression are excluded.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7677
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7678
.B \fBEXCLUDE_LABEL <label\-exclude\-regex>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7679
Specify a regular expression matching test labels to exclude.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7680
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7681
.B \fBINCLUDE_LABEL <label\-include\-regex>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7682
Specify a regular expression matching test labels to include.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7683
Tests not matching this expression are excluded.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7684
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7685
.B \fBPARALLEL_LEVEL <level>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7686
Specify a positive number representing the number of tests to
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7687
be run in parallel.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7688
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7689
.B \fBSCHEDULE_RANDOM <ON|OFF>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7690
Launch tests in a random order.  This may be useful for detecting
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7691
implicit test dependencies.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7692
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7693
.B \fBSTOP_TIME <time\-of\-day>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7694
Specify a time of day at which the tests should all stop running.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7695
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7696
.B \fBRETURN_VALUE <result\-var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7697
Store in the \fB<result\-var>\fP variable \fB0\fP if all tests passed.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7698
Store non\-zero if anything went wrong.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7699
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7700
.B \fBQUIET\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7701
Suppress any CTest\-specific non\-error messages that would have otherwise
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7702
been printed to the console.  Output from the underlying test command is not
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7703
affected.  Summary info detailing the percentage of passing tests is also
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7704
unaffected by the \fBQUIET\fP option.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7705
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7706
.SS ctest_update
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7707
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7708
Perform the CTest Update Step as a Dashboard Client\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7709
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7710
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7711
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7712
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7713
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7714
ctest_update([SOURCE <source\-dir>] [RETURN_VALUE <result\-var>] [QUIET])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7715
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7716
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7717
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7718
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7719
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7720
Update the source tree from version control and record results in
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7721
\fBUpdate.xml\fP for submission with the \fBctest_submit()\fP command.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7722
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7723
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7724
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7725
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7726
.B \fBSOURCE <source\-dir>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7727
Specify the source directory.  If not given, the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7728
\fBCTEST_SOURCE_DIRECTORY\fP variable is used.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7729
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7730
.B \fBRETURN_VALUE <result\-var>\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7731
Store in the \fB<result\-var>\fP variable the number of files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7732
updated or \fB\-1\fP on error.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7733
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7734
.B \fBQUIET\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7735
Tell CTest to suppress most non\-error messages that it would
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7736
have otherwise printed to the console.  CTest will still report
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7737
the new revision of the repository and any conflicting files
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7738
that were found.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7739
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7740
.SS ctest_upload
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7741
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7742
Upload files to a dashboard server as a Dashboard Client\&.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7743
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7744
.INDENT 3.5
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7745
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7746
.nf
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7747
.ft C
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7748
ctest_upload(FILES <file>... [QUIET])
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7749
.ft P
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7750
.fi
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7751
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7752
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7753
.sp
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7754
The options are:
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7755
.INDENT 0.0
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7756
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7757
.B \fBFILES <file>...\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7758
Specify a list of files to be sent along with the build results to the
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7759
dashboard server.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7760
.TP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7761
.B \fBQUIET\fP
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7762
Suppress any CTest\-specific non\-error output that would have been
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7763
printed to the console otherwise.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7764
.UNINDENT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7765
.SH COPYRIGHT
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7766
2000-2015 Kitware, Inc.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7767
.\" Generated by docutils manpage writer.
198d4a3e4b73 21834219 update cmake to 3.3.2
April Chin <april.chin@oracle.com>
parents:
diff changeset
  7768
.