diff options
author | Craig Scott <craig.scott@crascit.com> | 2023-12-17 20:34:52 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-12-17 20:35:08 (GMT) |
commit | a8dcc2c6c2d3ba3ff0d039cbb55e4a26db9180ed (patch) | |
tree | 70455bbdc583629e66ffefa23b47099595044801 | |
parent | daf8da8c8007229490dbdf0b2cd32f0b575f3c00 (diff) | |
parent | ba5882a6c176400b15a760146c95d30f454857d7 (diff) | |
download | CMake-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.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`. |