diff options
author | Craig Scott <craig.scott@crascit.com> | 2021-03-26 11:02:28 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2021-03-26 22:54:27 (GMT) |
commit | 769ff05483fa92e63466839854c4f3f0142a4fb3 (patch) | |
tree | 0b7751c8b58dc0a8be55bcd611425ad78d8eccf7 /Help/command/configure_file.rst | |
parent | 900184616afd01cf44115f1db777e05d97776306 (diff) | |
download | CMake-769ff05483fa92e63466839854c4f3f0142a4fb3.zip CMake-769ff05483fa92e63466839854c4f3f0142a4fb3.tar.gz CMake-769ff05483fa92e63466839854c4f3f0142a4fb3.tar.bz2 |
Help: Clarify permission-related command options
The previous docs did not make clear that at most only one of the three
permissions-related options can be given for configure_file() or
file(GENERATE) and that USE_SOURCE_PERMISSIONS is already the
default behavior for these commands.
Use consistent wording to refer to the input and output files for
configure_file().
Add missing "versionadded" directives on some of these keywords.
Use the consistent wording and keyword ordering between the
configure_file(), file(GENERATE) and file(COPY) commands.
Diffstat (limited to 'Help/command/configure_file.rst')
-rw-r--r-- | Help/command/configure_file.rst | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/Help/command/configure_file.rst b/Help/command/configure_file.rst index 63ea84d..d00f08b 100644 --- a/Help/command/configure_file.rst +++ b/Help/command/configure_file.rst @@ -6,9 +6,9 @@ Copy a file to another location and modify its contents. .. code-block:: cmake configure_file(<input> <output> - [FILE_PERMISSIONS <permissions>...] + [NO_SOURCE_PERMISSIONS | USE_SOURCE_PERMISSIONS | + FILE_PERMISSIONS <permissions>...] [COPYONLY] [ESCAPE_QUOTES] [@ONLY] - [NO_SOURCE_PERMISSIONS] [USE_SOURCE_PERMISSIONS] [NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ]) Copies an ``<input>`` file to an ``<output>`` file and substitutes @@ -75,8 +75,27 @@ The arguments are: If the path names an existing directory the output file is placed in that directory with the same file name as the input file. +``NO_SOURCE_PERMISSIONS`` + .. versionadded:: 3.19 + + Do not transfer the permissions of the input file to the output file. + The copied file permissions default to the standard 644 value + (-rw-r--r--). + +``USE_SOURCE_PERMISSIONS`` + .. versionadded:: 3.20 + + Transfer the permissions of the input file to the output file. + This is already the default behavior if none of the three permissions-related + keywords are given (``NO_SOURCE_PERMISSIONS``, ``USE_SOURCE_PERMISSIONS`` + or ``FILE_PERMISSIONS``). The ``USE_SOURCE_PERMISSIONS`` keyword mostly + serves as a way of making the intended behavior clearer at the call site. + ``FILE_PERMISSIONS <permissions>...`` - Use user provided permissions for the output file. + .. versionadded:: 3.20 + + Ignore the input file's permissions and use the specified ``<permissions>`` + for the output file instead. ``COPYONLY`` Copy the file without replacing any variable references or other @@ -89,18 +108,6 @@ The arguments are: Restrict variable replacement to references of the form ``@VAR@``. This is useful for configuring scripts that use ``${VAR}`` syntax. -``NO_SOURCE_PERMISSIONS`` - .. versionadded:: 3.19 - - Does not transfer the file permissions of the original file to the copy. - The copied file permissions default to the standard 644 value - (-rw-r--r--). - -``USE_SOURCE_PERMISSIONS`` - .. versionadded:: 3.20 - - Transfer the file permissions of the original file to the output file. - ``NEWLINE_STYLE <style>`` Specify the newline style for the output file. Specify ``UNIX`` or ``LF`` for ``\n`` newlines, or specify |