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