Spec-Zone.ru › CMake 3.16

add_link_options

Добавление параметров к шагу линковки для исполняемых файлов, динамических библиотек или библиотек модулей в текущем каталоге и в подкаталогах после вызова этой команды.

add_link_options(<option> ...)

Эта команда может быть использована для добавления любых параметров линковки, но существуют альтернативные команды для добавления библиотек (target_link_libraries() или link_libraries()). Смотрите документацию свойств directory и target LINK_OPTIONS.

Примечание

Эта команда не может быть использована для добавления параметров для статических библиотек, так как они не используют линковщик. Для добавления флагов архиватора или линковщика MSVC, смотрите свойство целевого объекта STATIC_LIBRARY_OPTIONS.

Аргументы к add_link_options могут использовать «генераторские выражения» с синтаксисом $<...>. Смотрите руководство cmake-generator-expressions(7) для доступных выражений. Смотрите руководство cmake-buildsystem(7) для более подробной информации об определении свойств системы сборки.

Конечный набор параметров компиляции или линковки, используемых для целевого объекта, формируется путем накопления параметров от текущего целевого объекта и требований его зависимостей. Набор параметров дедублицируется, чтобы избежать повторений. Хотя это полезно для отдельных параметров, шаг дедупликации может нарушить группы параметров. Например, -D A -D B становится -D A B. Можно указать группу параметров, используя оболочечную цитирование вместе с префиксом SHELL:. Префикс SHELL: удаляется, а остальная часть строки параметров анализируется с помощью режима separate_arguments() UNIX_COMMAND. Например, "SHELL:-D A" "SHELL:-D B" становится -D A -D B.

Для передачи параметров инструменту линковки каждый драйвер компилятора имеет свой собственный синтаксис. Префикс LINKER: и разделитель , могут использоваться для указания, переносным способом, параметров, которые нужно передать инструменту линковки. LINKER: заменяется соответствующим параметром драйвера, а , — соответствующим разделителем драйвера. Префикс и разделитель драйвера задаются значениями переменных CMAKE_<LANG>_LINKER_WRAPPER_FLAG и CMAKE_<LANG>_LINKER_WRAPPER_FLAG_SEP.

Например, "LINKER:-z,defs" становится -Xlinker -z -Xlinker defs для Clang и -Wl,-z,defs для GNU GCC.

Префикс LINKER: может быть указан как часть выражения префикса SHELL:.

Префикс LINKER: поддерживает, как альтернативный синтаксис, указание аргументов с использованием префикса SHELL: и пробела в качестве разделителя. Предыдущий пример тогда становится "LINKER:SHELL:-z defs".

Примечание

Указание префикса SHELL: в любом месте, кроме начала префикса LINKER:, не поддерживается.

© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.16/command/add_link_options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API