summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-12-13 14:34:24 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-12-13 14:34:51 (GMT)
commitf522cf454692a9a116da6dc91d76365f43214143 (patch)
treecb61979976ccd629643149c2dcf46bba8f5f636a /Help/prop_tgt
parentb59123f0c1697b0e29645aaf6acabe1f898e9e0b (diff)
parente831eef933c21ea8b5f24a6ffc51e52f87149c91 (diff)
downloadCMake-f522cf454692a9a116da6dc91d76365f43214143.zip
CMake-f522cf454692a9a116da6dc91d76365f43214143.tar.gz
CMake-f522cf454692a9a116da6dc91d76365f43214143.tar.bz2
Merge topic 'doc-xcframeworks-stubs-apple'
e831eef933 Help: Note case where IMPORTED_IMPLIB isn't needed for (xc)frameworks 01735badee Help: XCFrameworks and stubs are supported on all Apple, not just macOS 6ac50df591 Help: Add missing versionadded directives for IMPORTED_IMPLIB Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9058
Diffstat (limited to 'Help/prop_tgt')
-rw-r--r--Help/prop_tgt/ENABLE_EXPORTS.rst4
-rw-r--r--Help/prop_tgt/IMPORTED_IMPLIB.rst19
-rw-r--r--Help/prop_tgt/IMPORTED_LOCATION.rst14
3 files changed, 21 insertions, 16 deletions
diff --git a/Help/prop_tgt/ENABLE_EXPORTS.rst b/Help/prop_tgt/ENABLE_EXPORTS.rst
index e34c649..1902d94 100644
--- a/Help/prop_tgt/ENABLE_EXPORTS.rst
+++ b/Help/prop_tgt/ENABLE_EXPORTS.rst
@@ -35,8 +35,8 @@ the property instead for backward compatibility reasons.
See below for alternative initialization behavior for shared library targets.
.. versionadded:: 3.27
- On Apple platforms, to link with a shared library (either a bare library or a
- framework), a linker import file can be used instead of the actual shared
+ To link with a shared library on macOS, or to a shared framework on any Apple
+ platform, a linker import file can be used instead of the actual shared
library. These linker import files are also known as text-based stubs, and
they have a ``.tbd`` file extension.
diff --git a/Help/prop_tgt/IMPORTED_IMPLIB.rst b/Help/prop_tgt/IMPORTED_IMPLIB.rst
index 27601d2..135c31c 100644
--- a/Help/prop_tgt/IMPORTED_IMPLIB.rst
+++ b/Help/prop_tgt/IMPORTED_IMPLIB.rst
@@ -6,17 +6,26 @@ Full path to the import library for an ``IMPORTED`` target.
This property may be set:
* On DLL platforms, to the location of the ``.lib`` part of the DLL.
-* On AIX, to an import file (e.g. ``.imp``) created for executables that export
- symbols (see the :prop_tgt:`ENABLE_EXPORTS` target property).
-* On macOS, to an import file (e.g. ``.tbd``) created for shared libraries (see
- the :prop_tgt:`ENABLE_EXPORTS` target property). For frameworks this is the
- location of the ``.tbd`` file symlink just inside the framework folder.
+* .. versionadded:: 3.16
+ On AIX, to an import file (e.g. ``.imp``) created for executables that
+ export symbols (see the :prop_tgt:`ENABLE_EXPORTS` target property).
+* .. versionadded:: 3.27
+ On Apple platforms, to an import file (e.g. ``.tbd``) created for shared
+ libraries or frameworks (see the :prop_tgt:`ENABLE_EXPORTS` target
+ property). For frameworks, this is the location of the ``.tbd`` file
+ symlink just inside the framework folder.
* .. versionadded:: 3.28
On non-DLL platforms, to the location of a shared library.
When set without also specifying an :prop_tgt:`IMPORTED_LOCATION`,
the library is considered to be a stub, and its location will not
be added as a runtime search path to dependents that link it.
+.. versionchanged:: 3.28
+ If an imported target is an Apple framework or XCFramework, the preferred
+ arrangement is to set :prop_tgt:`IMPORTED_LOCATION` to the ``.framework``
+ or ``.xcframework`` directory. CMake will then find the relevant ``.tbd``
+ file inside that framework or XCFramework automatically without requiring
+ ``IMPORTED_IMPLIB`` to be set.
The ``IMPORTED_IMPLIB`` target property may be overridden for a
given configuration ``<CONFIG>`` by the configuration-specific
diff --git a/Help/prop_tgt/IMPORTED_LOCATION.rst b/Help/prop_tgt/IMPORTED_LOCATION.rst
index b7bb748..b162253 100644
--- a/Help/prop_tgt/IMPORTED_LOCATION.rst
+++ b/Help/prop_tgt/IMPORTED_LOCATION.rst
@@ -17,14 +17,10 @@ non-imported targets.
.. versionadded:: 3.28
- For frameworks on macOS, this may be the location of the framework folder
- itself.
-
-.. versionadded:: 3.28
-
- This may be the location of a ``.xcframework`` folder on macOS. If it is,
- any target that links against it will get the selected library's ``Headers``
- directory as a usage requirement.
+ For ordinary frameworks on Apple platforms, this may be the location of the
+ ``.framework`` folder itself. For XCFrameworks, it may be the location of
+ the ``.xcframework`` folder, in which case any target that links against it
+ will get the selected library's ``Headers`` directory as a usage requirement.
The ``IMPORTED_LOCATION`` target property may be overridden for a
given configuration ``<CONFIG>`` by the configuration-specific
@@ -38,5 +34,5 @@ selected and its :prop_tgt:`IMPORTED_LOCATION_<CONFIG>` value used.
To get the location of an imported target read one of the :prop_tgt:`LOCATION`
or :prop_tgt:`LOCATION_<CONFIG>` properties.
-For platforms with import libraries (e.g. Windows, AIX or macOS) see also
+For platforms with import libraries (e.g. Windows, AIX or Apple) see also
:prop_tgt:`IMPORTED_IMPLIB`.