diff options
author | Craig Scott <craig.scott@crascit.com> | 2023-12-15 22:36:36 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2023-12-15 22:41:09 (GMT) |
commit | ba5882a6c176400b15a760146c95d30f454857d7 (patch) | |
tree | cb242df9e1ec27b95190a3eec7851b1de6109522 | |
parent | 6ba3bb0563ca72fa6fa7bc705bdf38187e3fa485 (diff) | |
download | CMake-ba5882a6c176400b15a760146c95d30f454857d7.zip CMake-ba5882a6c176400b15a760146c95d30f454857d7.tar.gz CMake-ba5882a6c176400b15a760146c95d30f454857d7.tar.bz2 |
Help: Document Xcode project visibility constraints for embedding
Fixes: #22412
-rw-r--r-- | Help/prop_tgt/XCODE_EMBED_type.rst | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Help/prop_tgt/XCODE_EMBED_type.rst b/Help/prop_tgt/XCODE_EMBED_type.rst index 0f71ead..0354f97 100644 --- a/Help/prop_tgt/XCODE_EMBED_type.rst +++ b/Help/prop_tgt/XCODE_EMBED_type.rst @@ -49,6 +49,22 @@ The supported values for ``<type>`` are: The specified items will be added to the ``Embed XPC Services`` build 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 :variable:`CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY` variable is set + to true in the top level ``CMakeLists.txt`` file. 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 :command:`project` call in a parent + directory and no other :command:`project` calls between themselves and that + common :command:`project` call. + See also :prop_tgt:`XCODE_EMBED_<type>_PATH`, :prop_tgt:`XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY` and :prop_tgt:`XCODE_EMBED_<type>_CODE_SIGN_ON_COPY`. |