mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
7
Help/release/dev/install-script-all-components.rst
Normal file
7
Help/release/dev/install-script-all-components.rst
Normal file
@@ -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.
|
||||
Reference in New Issue
Block a user