XCODE_EMBED_
Новое в версии 3.20.
Укажите генератору Xcode, чтобы он встроил указанный список элементов в пакет целевого объекта. <type> определяет используемую фазу сборки встраивания. См. документацию Xcode для базового расположения каждого <type>.
Доступные значения для <type>:
-
FRAMEWORKS -
Указанные элементы будут добавлены в фазу сборки
Embed Frameworks. Элементы могут быть именами целей CMake или путями к фреймворкам или библиотекам. -
APP_EXTENSIONS -
Новое в версии 3.21.
Указанные элементы будут добавлены в фазу сборки
Embed App ExtensionsсDestination, установленным вPlugIns and Foundation Extensions. Они должны быть именами целей CMake. -
EXTENSIONKIT_EXTENSIONS -
Новое в версии 3.26.
Указанные элементы будут добавлены в фазу сборки
Embed App ExtensionsсDestination, установленным вExtensionKit Extensions. Они должны быть именами целей CMake, и, вероятно, следует установить свойство целиXCODE_PRODUCT_TYPEвcom.apple.product-type.extensionkit-extension, а такжеXCODE_EXPLICIT_FILE_TYPEвwrapper.extensionkit-extension. -
PLUGINS -
Новое в версии 3.23.
Указанные элементы будут добавлены в фазу сборки
Embed PlugIns. -
RESOURCES -
Новое в версии 3.28.
Указанные элементы будут добавлены в фазу сборки
Embed Resources. Они должны быть именами целей CMake или путями к папкам. -
XPC_SERVICES -
Новое в версии 3.29.
Указанные элементы будут добавлены в фазу сборки
Embed XPC Services. Они должны быть именами целей CMake.
При указании цели как элемента для встраивания, Xcode должен видеть эту цель как часть того же проекта Xcode или подпроекта, определяющего пакет. Для выполнения этого ограничения проект CMake должен гарантировать выполнение хотя бы одного из следующих условий:
- Переменная
CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLYустановлена в значение true в верхнем уровнеCMakeLists.txtфайле. Это самый простой и надежный подход. - Определите цель для встраивания в подкаталоге того, который определяет цель, встраиваемую в пакет.
- Если цель для встраивания и цель, встраиваемая в пакет, находятся в разных независимых каталогах (то есть они являются братьями, а не один родитель другого), убедитесь, что у них есть общий вызов
project()в родительском каталоге и нет других вызововproject()между ними и этим общим вызовомproject().
См. также XCODE_EMBED_<type>_PATH, XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY и XCODE_EMBED_<type>_CODE_SIGN_ON_COPY.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.30/prop_tgt/XCODE_EMBED_type.html