summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2023-12-17 20:34:52 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-12-17 20:35:08 (GMT)
commita8dcc2c6c2d3ba3ff0d039cbb55e4a26db9180ed (patch)
tree70455bbdc583629e66ffefa23b47099595044801
parentdaf8da8c8007229490dbdf0b2cd32f0b575f3c00 (diff)
parentba5882a6c176400b15a760146c95d30f454857d7 (diff)
downloadCMake-a8dcc2c6c2d3ba3ff0d039cbb55e4a26db9180ed.zip
CMake-a8dcc2c6c2d3ba3ff0d039cbb55e4a26db9180ed.tar.gz
CMake-a8dcc2c6c2d3ba3ff0d039cbb55e4a26db9180ed.tar.bz2
Merge topic 'doc-embed-xcode-limitations'
ba5882a6c1 Help: Document Xcode project visibility constraints for embedding Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9078
-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`.