summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorNils Gladitz <n.gladitz@abberior-instruments.com>2021-05-19 08:15:16 (GMT)
committerNils Gladitz <n.gladitz@abberior-instruments.com>2021-05-19 17:17:58 (GMT)
commit99ff75455ece5ec4add771a2de93b237ab858d08 (patch)
tree49f27c52bcec9b415c054ac80d3643fa03756a33 /Help
parent82fd8b6ba36658705fc55bc40df0b6b6ec80b773 (diff)
downloadCMake-99ff75455ece5ec4add771a2de93b237ab858d08.zip
CMake-99ff75455ece5ec4add771a2de93b237ab858d08.tar.gz
CMake-99ff75455ece5ec4add771a2de93b237ab858d08.tar.bz2
install: Implement new install(CODE|SCRIPT) option ALL_COMPONENTS
In a per-component installation the generated installation scripts are invoked once for each component. Per default custom installation script code added by install(CODE|SCRIPT) only runs for one specific component in this context. The new ALL_COMPONENTS option allows custom script code to be run once for each component being installed.
Diffstat (limited to 'Help')
-rw-r--r--Help/command/install.rst8
-rw-r--r--Help/manual/cmake-file-api.7.rst5
-rw-r--r--Help/release/dev/install-script-all-components.rst7
3 files changed, 19 insertions, 1 deletions
diff --git a/Help/command/install.rst b/Help/command/install.rst
index 993cf7f..2259176 100644
--- a/Help/command/install.rst
+++ b/Help/command/install.rst
@@ -619,7 +619,7 @@ Custom Installation Logic
.. code-block:: cmake
install([[SCRIPT <file>] [CODE <code>]]
- [COMPONENT <component>] [EXCLUDE_FROM_ALL] [...])
+ [COMPONENT <component>] [EXCLUDE_FROM_ALL] [ALL_COMPONENTS] [...])
The ``SCRIPT`` form will invoke the given CMake script files during
installation. If the script file name is a relative path it will be
@@ -634,6 +634,12 @@ example, the code
will print a message during installation.
+The option ``ALL_COMPONENTS``
+ .. versionadded:: 3.21
+
+ Run the custom installation script code for every component of a
+ component-specific installation.
+
.. versionadded:: 3.14
``<file>`` or ``<code>`` may use "generator expressions" with the syntax
``$<...>`` (in the case of ``<file>``, this refers to their use in the file
diff --git a/Help/manual/cmake-file-api.7.rst b/Help/manual/cmake-file-api.7.rst
index 445ebeb..0e530bc 100644
--- a/Help/manual/cmake-file-api.7.rst
+++ b/Help/manual/cmake-file-api.7.rst
@@ -751,6 +751,11 @@ with members:
Optional member that is present with boolean value ``true`` when
:command:`install` is called with the ``EXCLUDE_FROM_ALL`` option.
+ ``isForAllComponents``
+ Optional member that is present with boolean value ``true`` when
+ :command:`install(SCRIPT|CODE)` is called with the
+ ``ALL_COMPONENTS`` option.
+
``isOptional``
Optional member that is present with boolean value ``true`` when
:command:`install` is called with the ``OPTIONAL`` option.
diff --git a/Help/release/dev/install-script-all-components.rst b/Help/release/dev/install-script-all-components.rst
new file mode 100644
index 0000000..e421d3d
--- /dev/null
+++ b/Help/release/dev/install-script-all-components.rst
@@ -0,0 +1,7 @@
+install-script-all-components
+-----------------------------
+
+* The :command:`install(SCRIPT|CODE)` command
+ supports a new option ``ALL_COMPONENTS`` which allows
+ the corresponding code to run for every component of
+ a per component installation.