XCODE_LINK_BUILD_PHASE_MODE
Новое в версии 3.19.
При использовании генератора Xcode, библиотеки, которые необходимо связать, будут указаны в файле проекта Xcode с помощью фазы сборки «Связать двоичный файл с библиотеками» или напрямую в качестве флагов компоновщика. Первый вариант позволяет Xcode управлять путями сборки, что может быть необходимо при создании архивов Xcode, так как он может использовать разные пути сборки по сравнению с обычной сборкой.
Этот параметр контролирует использование фазы сборки «Связать двоичный файл с библиотеками» для целевого объекта, который является пакетом приложений, исполняемым файлом, динамической библиотекой, динамической библиотекой фреймворка или библиотекой модуля.
Возможные значения:
-
NONEБиблиотеки будут связаны, указав флаги компоновщика напрямую. -
BUILT_ONLYФаза сборки «Связать двоичный файл с библиотеками» будет использоваться для связи с другим целевым объектом при следующих условиях:- Целевой объект, с которым необходимо связаться, является обычным целевым объектом библиотеки, не импортированным и не являющимся библиотекой интерфейса.
- Директория вывода целевого объекта, который собирается, не изменена со значения по умолчанию (см.
RUNTIME_OUTPUT_DIRECTORYиLIBRARY_OUTPUT_DIRECTORY).
-
KNOWN_LOCATIONФаза сборки «Связать двоичный файл с библиотеками» будет использоваться для связи с другим целевым объектом при тех же условиях, что и дляBUILT_ONLY, а также:- Импортированные целевые объекты библиотек, за исключением тех, что имеют тип
UNKNOWN. - Любая библиотека, не являющаяся целевым объектом, указанная непосредственно с путем.
- Импортированные целевые объекты библиотек, за исключением тех, что имеют тип
Во всех остальных случаях библиотеки будут связаны, указав флаги компоновщика напрямую.
Предупреждение
Библиотеки, связанные с помощью «Связать двоичный файл с библиотеками», связываются после тех, что связаны через обычные флаги компоновщика. Этот порядок следует учитывать, когда разные статические библиотеки содержат символы с одинаковым именем, так как первые будут иметь приоритет над последними.
Предупреждение
Если две или более директории содержат библиотеки с одинаковыми именами файлов, а некоторые библиотеки связаны из этих директорий, поиск пути поиска библиотек приведет к связыванию библиотек из первой директории. Это известное ограничение Xcode.
Этот параметр инициализируется значением переменной CMAKE_XCODE_LINK_BUILD_PHASE_MODE, если она установлена при создании целевого объекта.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/prop_tgt/XCODE_LINK_BUILD_PHASE_MODE.html