summaryrefslogtreecommitdiffstats
path: root/Help/command
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-10-19 13:47:46 (GMT)
committerKitware Robot <kwrobot@kitware.com>2018-10-19 13:47:53 (GMT)
commitb142956829bf52bce5d65fbc82aa82d617eac7f7 (patch)
tree9bd4fb549aae3c4821a8b3a2289ff89040d51c07 /Help/command
parent7053dd301c694bbc5e13b7e32febd34596b22d4e (diff)
parent18cff26e3aeea532959f080ec1178d611ead3615 (diff)
downloadCMake-b142956829bf52bce5d65fbc82aa82d617eac7f7.zip
CMake-b142956829bf52bce5d65fbc82aa82d617eac7f7.tar.gz
CMake-b142956829bf52bce5d65fbc82aa82d617eac7f7.tar.bz2
Merge topic 'doc-target_link_libraries-item-quoting'
18cff26e3a Help: Clarify command-line encoding of target_link_libraries items Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2503
Diffstat (limited to 'Help/command')
-rw-r--r--Help/command/target_link_libraries.rst12
1 files changed, 12 insertions, 0 deletions
diff --git a/Help/command/target_link_libraries.rst b/Help/command/target_link_libraries.rst
index 229d10c..58f312e 100644
--- a/Help/command/target_link_libraries.rst
+++ b/Help/command/target_link_libraries.rst
@@ -43,6 +43,9 @@ Each ``<item>`` may be:
the library instead of using the full path
(e.g. ``/usr/lib/libfoo.so`` becomes ``-lfoo``).
+ The full path to the target's artifact will be quoted/escaped for
+ the shell automatically.
+
* **A full path to a library file**: The generated link line will
normally preserve the full path to the file. The buildsystem will
have a dependency to re-link ``<target>`` if the library file changes.
@@ -62,9 +65,15 @@ Each ``<item>`` may be:
imported into generated project files. This is not supported by other
generators.
+ The full path to the library file will be quoted/escaped for
+ the shell automatically.
+
* **A plain library name**: The generated link line will ask the linker
to search for the library (e.g. ``foo`` becomes ``-lfoo`` or ``foo.lib``).
+ The library name/flag is treated as a command-line string fragment and
+ will be used with no extra quoting or escaping.
+
* **A link flag**: Item names starting with ``-``, but not ``-l`` or
``-framework``, are treated as linker flags. Note that such flags will
be treated like any other library link item for purposes of transitive
@@ -78,6 +87,9 @@ Each ``<item>`` may be:
flags explicitly. The flags will then be placed at the toolchain-defined
flag position in the link command.
+ The link flag is treated as a command-line string fragment and
+ will be used with no extra quoting or escaping.
+
* **A generator expression**: A ``$<...>`` :manual:`generator expression
<cmake-generator-expressions(7)>` may evaluate to any of the above
items or to a :ref:`;-list <CMake Language Lists>` of them.