summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-10-18 13:33:29 -0400
committerBrad King <brad.king@kitware.com>2018-10-18 13:33:29 -0400
commitf3719a790c612d4db3b9d04123225e255ae2b6c5 (patch)
treeaf41aa433ab982ba8df247aed6242079ae71153f
parent09daee07806a75e98afa2a80472de7909c961476 (diff)
parent18cff26e3aeea532959f080ec1178d611ead3615 (diff)
downloadcmake-f3719a790c612d4db3b9d04123225e255ae2b6c5.tar.gz
Merge branch 'doc-target_link_libraries-item-quoting' into release-3.13
Merge-request: !2503
-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 229d10c1f9..58f312e1a6 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.