You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.9 KiB
47 lines
1.9 KiB
11 years ago
|
configure_file
|
||
|
--------------
|
||
|
|
||
|
Copy a file to another location and modify its contents.
|
||
|
|
||
|
::
|
||
|
|
||
|
configure_file(<input> <output>
|
||
|
[COPYONLY] [ESCAPE_QUOTES] [@ONLY]
|
||
|
[NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])
|
||
|
|
||
|
Copies a file <input> to file <output> and substitutes variable values
|
||
|
referenced in the file content. If <input> is a relative path it is
|
||
|
evaluated with respect to the current source directory. The <input>
|
||
|
must be a file, not a directory. If <output> is a relative path it is
|
||
|
evaluated with respect to the current binary directory. If <output>
|
||
|
names an existing directory the input file is placed in that directory
|
||
|
with its original name.
|
||
|
|
||
|
If the <input> file is modified the build system will re-run CMake to
|
||
|
re-configure the file and generate the build system again.
|
||
|
|
||
|
This command replaces any variables in the input file referenced as
|
||
|
${VAR} or @VAR@ with their values as determined by CMake. If a
|
||
|
variable is not defined, it will be replaced with nothing. If
|
||
|
COPYONLY is specified, then no variable expansion will take place. If
|
||
|
ESCAPE_QUOTES is specified then any substituted quotes will be C-style
|
||
|
escaped. The file will be configured with the current values of CMake
|
||
|
variables. If @ONLY is specified, only variables of the form @VAR@
|
||
|
will be replaced and ${VAR} will be ignored. This is useful for
|
||
|
configuring scripts that use ${VAR}.
|
||
|
|
||
|
Input file lines of the form "#cmakedefine VAR ..." will be replaced
|
||
|
with either "#define VAR ..." or ``/* #undef VAR */`` depending on
|
||
|
whether VAR is set in CMake to any value not considered a false
|
||
|
constant by the if() command. (Content of "...", if any, is processed
|
||
|
as above.) Input file lines of the form "#cmakedefine01 VAR" will be
|
||
|
replaced with either "#define VAR 1" or "#define VAR 0" similarly.
|
||
|
|
||
|
With NEWLINE_STYLE the line ending could be adjusted:
|
||
|
|
||
|
::
|
||
|
|
||
|
'UNIX' or 'LF' for \n, 'DOS', 'WIN32' or 'CRLF' for \r\n.
|
||
|
|
||
|
COPYONLY must not be used with NEWLINE_STYLE.
|