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.20/prop_tgt/XCODE_LINK_BUILD_PHASE_MODE.html