Spec-Zone.ru › CMake 3.29

XCODE_EMBED_<type>

Новые возможности версии 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. Они должны быть именами целевых CMake.

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.29/prop_tgt/XCODE_EMBED_type.html

Spec-Zone.ru

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