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. Они должны быть именами целевых объектов 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/latest/prop_tgt/XCODE_EMBED_type.html