summaryrefslogtreecommitdiffstats
path: root/Help/command
diff options
context:
space:
mode:
authorKyle Edwards <kyle.edwards@kitware.com>2021-05-26 17:30:32 (GMT)
committerKyle Edwards <kyle.edwards@kitware.com>2021-05-31 13:02:45 (GMT)
commitdf7040a2718a0de2b074a6e55c5ce960d85d8d6f (patch)
tree09d73aac24b53ef435735307fb125c9fad68e68c /Help/command
parent60e752ced8e9b604591082ee3b21d545fafa8ad8 (diff)
downloadCMake-df7040a2718a0de2b074a6e55c5ce960d85d8d6f.zip
CMake-df7040a2718a0de2b074a6e55c5ce960d85d8d6f.tar.gz
CMake-df7040a2718a0de2b074a6e55c5ce960d85d8d6f.tar.bz2
install(): Add IMPORTED_RUNTIME_ARTIFACTS mode
Diffstat (limited to 'Help/command')
-rw-r--r--Help/command/install.rst33
1 files changed, 33 insertions, 0 deletions
diff --git a/Help/command/install.rst b/Help/command/install.rst
index 2259176..2865e1d 100644
--- a/Help/command/install.rst
+++ b/Help/command/install.rst
@@ -9,6 +9,7 @@ Synopsis
.. parsed-literal::
install(`TARGETS`_ <target>... [...])
+ install(`IMPORTED_RUNTIME_ARTIFACTS`_ <target>... [...])
install({`FILES`_ | `PROGRAMS`_} <file>... [...])
install(`DIRECTORY`_ <dir>... [...])
install(`SCRIPT`_ <file> [...])
@@ -382,6 +383,38 @@ set to ``TRUE`` has undefined behavior.
to ensure that such out-of-directory targets are built before the
subdirectory-specific install rules are run.
+Installing Imported Runtime Artifacts
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. _`install(IMPORTED_RUNTIME_ARTIFACTS)`:
+.. _IMPORTED_RUNTIME_ARTIFACTS:
+
+.. versionadded:: 3.21
+
+.. code-block:: cmake
+
+ install(IMPORTED_RUNTIME_ARTIFACTS targets...
+ [[LIBRARY|RUNTIME|FRAMEWORK|BUNDLE]
+ [DESTINATION <dir>]
+ [PERMISSIONS permissions...]
+ [CONFIGURATIONS [Debug|Release|...]]
+ [COMPONENT <component>]
+ [OPTIONAL] [EXCLUDE_FROM_ALL]
+ ] [...]
+ )
+
+The ``IMPORTED_RUNTIME_ARTIFACTS`` form specifies rules for installing the
+runtime artifacts of imported targets. Projects may do this if they want to
+bundle outside executables or modules inside their installation. The
+``LIBRARY``, ``RUNTIME``, ``FRAMEWORK``, and ``BUNDLE`` arguments have the
+same semantics that they do in the `TARGETS`_ mode. Only the runtime artifacts
+of imported targets are installed (except in the case of :prop_tgt:`FRAMEWORK`
+libraries, :prop_tgt:`MACOSX_BUNDLE` executables, and :prop_tgt:`BUNDLE`
+CFBundles.) For example, headers and import libraries associated with DLLs are
+not installed. In the case of :prop_tgt:`FRAMEWORK` libraries,
+:prop_tgt:`MACOSX_BUNDLE` executables, and :prop_tgt:`BUNDLE` CFBundles, the
+entire directory is installed.
+
Installing Files
^^^^^^^^^^^^^^^^