XCODE_EMBED_<type>ΒΆ
Added in version 3.20.
Tell the Xcode generator to embed the specified list of items into
the target bundle.  <type> specifies the embed build phase to use.
See the Xcode documentation for the base location of each <type>.
The supported values for <type> are:
- FRAMEWORKS
- The specified items will be added to the - Embed Frameworksbuild phase. The items can be CMake target names or paths to frameworks or libraries.
- APP_EXTENSIONS
- Added in version 3.21. - The specified items will be added to the - Embed App Extensionsbuild phase, with- Destinationset to- PlugIns and Foundation ExtensionsThey must be CMake target names.
- EXTENSIONKIT_EXTENSIONS
- Added in version 3.26. - The specified items will be added to the - Embed App Extensionsbuild phase, with- Destinationset to- ExtensionKit ExtensionsThey must be CMake target names, and should likely have the- XCODE_PRODUCT_TYPEtarget property set to- com.apple.product-type.extensionkit-extensionas well as the- XCODE_EXPLICIT_FILE_TYPEto- wrapper.extensionkit-extension
- PLUGINS
- Added in version 3.23. - The specified items will be added to the - Embed PlugInsbuild phase. They must be CMake target names.
- RESOURCES
- Added in version 3.28. - The specified items will be added to the - Embed Resourcesbuild phase. They must be CMake target names or folder paths.
- XPC_SERVICES
- Added in version 3.29. - The specified items will be added to the - Embed XPC Servicesbuild phase. They must be CMake target names.
When listing a target as any of the things to embed, Xcode must see that target as part of the same Xcode project, or a sub-project of the one defining the bundle. In order to satisfy this constraint, the CMake project must ensure at least one of the following:
- The - CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLYvariable is set to true in the top level- CMakeLists.txtfile. This is the simplest and most robust approach.
- Define the target-to-embed in a subdirectory of the one that defines the target being embedded into. 
- If the target-to-embed and the target being embedded into are in separate, unrelated directories (i.e. they are siblings, not one a parent of the other), ensure they have a common - project()call in a parent directory and no other- project()calls between themselves and that common- project()call.
See also XCODE_EMBED_<type>_PATH,
XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY and
XCODE_EMBED_<type>_CODE_SIGN_ON_COPY.
