Spec-Zone.ru › CMake 3.21

XCODE_LINK_BUILD_PHASE_MODE

Новое в версии 3.19.

При использовании генератора Xcode, библиотеки, подлежащие линкованию, будут указаны в файле проекта Xcode с помощью фазы сборки "Link Binary With Libraries" или напрямую как флаги линковщика. Первый вариант позволяет Xcode управлять путями сборки, что может быть необходимо при создании архивов Xcode, поскольку он может использовать разные пути сборки по сравнению с обычной сборкой.

Этот параметр управляет использованием фазы сборки "Link Binary With Libraries" для целевого объекта, представляющего собой пакет приложений, исполняемый файл, общую библиотеку, общую фреймворк или библиотеку модулей.

Возможные значения:

  • NONE Библиотеки будут линковаться путём прямого указания флагов линковщика.
  • BUILT_ONLY Фаза сборки "Link Binary With Libraries" будет использоваться для линковки с другой целью при следующих условиях:

    • Целевой объект, к которому нужно выполнить линковку, является обычным объектом библиотеки, не импортированным и не интерфейсным.
    • Директория вывода целевого объекта, который собирается, не была изменена по сравнению со значением по умолчанию (см. RUNTIME_OUTPUT_DIRECTORY и LIBRARY_OUTPUT_DIRECTORY).
  • KNOWN_LOCATION Фаза сборки "Link Binary With Libraries" будет использоваться для линковки с другой целью при тех же условиях, что и с BUILT_ONLY, а также:

    • Импортированные библиотечные целевые объекты, кроме тех, что имеют тип UNKNOWN.
    • Любые библиотеки, не являющиеся целевыми объектами, указанные напрямую с путём.

Во всех остальных случаях библиотеки будут линковаться путём прямого указания флагов линковщика.

Предупреждение

Библиотеки, линкованные с помощью "Link Binary With Libraries", линковались после библиотек, линкованных через обычные флаги линковщика. Этот порядок следует учитывать при наличии разных статических библиотек, содержащих символы с одинаковым именем, поскольку первые из них будут иметь приоритет над последними.

Предупреждение

Если две или более директории содержат библиотеки с одинаковыми именами файлов, и некоторые библиотеки линковались из этих директорий, поиск пути поиска библиотек приведет к линковке библиотек из первой директории. Это известное ограничение Xcode.

Этот параметр инициализируется значением переменной CMAKE_XCODE_LINK_BUILD_PHASE_MODE, если она установлена при создании целевого объекта.

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/prop_tgt/XCODE_LINK_BUILD_PHASE_MODE.html

Spec-Zone.ru

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