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