Spec-Zone.ru › CMake 3.17

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.17/command/add_link_options.html

Spec-Zone.ru

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