diff options
author | Marc Chevrier <marc.chevrier@gmail.com> | 2018-04-30 16:56:25 (GMT) |
---|---|---|
committer | Marc Chevrier <marc.chevrier@gmail.com> | 2018-06-06 15:22:41 (GMT) |
commit | 66ea1a3795f76ce921bc48f82ff228bcceed4524 (patch) | |
tree | 48d060e55c547dc5d06fcccba7186bb5beb4fc13 /Help/command | |
parent | c1f5a44b28047cde74e2fb10e8d68e314272f699 (diff) | |
download | CMake-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.txt | 10 | ||||
-rw-r--r-- | Help/command/add_link_options.rst | 10 | ||||
-rw-r--r-- | Help/command/target_link_options.rst | 4 |
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 |