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