summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2023-12-15 22:36:36 (GMT)
committerCraig Scott <craig.scott@crascit.com>2023-12-15 22:41:09 (GMT)
commitba5882a6c176400b15a760146c95d30f454857d7 (patch)
treecb242df9e1ec27b95190a3eec7851b1de6109522
parent6ba3bb0563ca72fa6fa7bc705bdf38187e3fa485 (diff)
downloadCMake-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.rst16
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`.