Spec-Zone.ru › CMake 3.30

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

Spec-Zone.ru

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