summaryrefslogtreecommitdiffstats
path: root/Help/command
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2018-04-30 16:56:25 (GMT)
committerMarc Chevrier <marc.chevrier@gmail.com>2018-06-06 15:22:41 (GMT)
commit66ea1a3795f76ce921bc48f82ff228bcceed4524 (patch)
tree48d060e55c547dc5d06fcccba7186bb5beb4fc13 /Help/command
parentc1f5a44b28047cde74e2fb10e8d68e314272f699 (diff)
downloadCMake-66ea1a3795f76ce921bc48f82ff228bcceed4524.zip
CMake-66ea1a3795f76ce921bc48f82ff228bcceed4524.tar.gz
CMake-66ea1a3795f76ce921bc48f82ff228bcceed4524.tar.bz2
LINK_OPTIONS: Add support of "LINKER:" prefix
Diffstat (limited to 'Help/command')
-rw-r--r--Help/command/LINK_OPTIONS_LINKER.txt10
-rw-r--r--Help/command/add_link_options.rst10
-rw-r--r--Help/command/target_link_options.rst4
3 files changed, 19 insertions, 5 deletions
diff --git a/Help/command/LINK_OPTIONS_LINKER.txt b/Help/command/LINK_OPTIONS_LINKER.txt
new file mode 100644
index 0000000..76927be
--- /dev/null
+++ b/Help/command/LINK_OPTIONS_LINKER.txt
@@ -0,0 +1,10 @@
+To pass options to the linker tool, each compiler driver has is own syntax.
+The ``LINKER:`` prefix can be used to specify, in a portable way, options
+to pass to the linker tool. The ``LINKER:`` prefix is replaced by the required
+driver option and the rest of the option string defines linker arguments using
+``,`` as separator. These arguments will be formatted according to the
+:variable:`CMAKE_<LANG>_LINKER_WRAPPER_FLAG` and
+:variable:`CMAKE_<LANG>_LINKER_WRAPPER_FLAG_SEP` variables.
+
+For example, ``"LINKER:-z,defs"`` becomes ``-Xlinker -z -Xlinker defs`` for
+``Clang`` and ``-Wl,-z,defs`` for ``GNU GCC``.
diff --git a/Help/command/add_link_options.rst b/Help/command/add_link_options.rst
index c827d70..821198d 100644
--- a/Help/command/add_link_options.rst
+++ b/Help/command/add_link_options.rst
@@ -7,12 +7,12 @@ Adds options to the link of targets.
add_link_options(<option> ...)
-Adds options to the linker command line for targets in the current
-directory and below that are added after this command is invoked.
-See documentation of the :prop_dir:`directory <LINK_OPTIONS>` and
+Adds options to the link step for targets in the current directory and below
+that are added after this command is invoked. See documentation of the
+:prop_dir:`directory <LINK_OPTIONS>` and
:prop_tgt:`target <LINK_OPTIONS>` ``LINK_OPTIONS`` properties.
-This command can be used to add any options, but alternative command
+This command can be used to add any options, but alternative commands
exist to add libraries (:command:`target_link_libraries` or
:command:`link_libraries`).
@@ -21,4 +21,6 @@ the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
manual for available expressions. See the :manual:`cmake-buildsystem(7)`
manual for more on defining buildsystem properties.
+.. include:: LINK_OPTIONS_LINKER.txt
+
.. include:: OPTIONS_SHELL.txt
diff --git a/Help/command/target_link_options.rst b/Help/command/target_link_options.rst
index 489f981..8f47180 100644
--- a/Help/command/target_link_options.rst
+++ b/Help/command/target_link_options.rst
@@ -29,7 +29,7 @@ items will populate the :prop_tgt:`LINK_OPTIONS` property of
``<target>``. ``PUBLIC`` and ``INTERFACE`` items will populate the
:prop_tgt:`INTERFACE_LINK_OPTIONS` property of ``<target>``.
(:ref:`IMPORTED targets <Imported Targets>` only support ``INTERFACE`` items.)
-The following arguments specify compile options. Repeated calls for the same
+The following arguments specify link options. Repeated calls for the same
``<target>`` append items in the order called.
Arguments to ``target_link_options`` may use "generator expressions"
@@ -37,4 +37,6 @@ with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
manual for available expressions. See the :manual:`cmake-buildsystem(7)`
manual for more on defining buildsystem properties.
+.. include:: LINK_OPTIONS_LINKER.txt
+
.. include:: OPTIONS_SHELL.txt