diff options
author | Craig Scott <craig.scott@crascit.com> | 2019-02-21 23:00:50 +1100 |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2019-02-22 07:55:56 +1100 |
commit | d3b765d4510b73ee17df0e2bee0f7b9a355c5cba (patch) | |
tree | 61ad8b7782543b8443edf2f222e023362106cc73 /Help | |
parent | e6897c72e7c59f7a0b82ed19c1bdb40d42f7adaa (diff) | |
download | cmake-d3b765d4510b73ee17df0e2bee0f7b9a355c5cba.tar.gz |
EXCLUDE_FROM_ALL: Don't warn if installing target excluded from all
The original warning pre-dates support for install components.
There are now legitimate scenarios where an install(TARGETS)
command may list a target that is excluded from all, e.g.
hierarchical projects that will never install the component such a
target belongs to.
Fixes: #18938
Diffstat (limited to 'Help')
-rw-r--r-- | Help/prop_tgt/EXCLUDE_FROM_ALL.rst | 12 | ||||
-rw-r--r-- | Help/release/3.14.rst | 4 |
2 files changed, 14 insertions, 2 deletions
diff --git a/Help/prop_tgt/EXCLUDE_FROM_ALL.rst b/Help/prop_tgt/EXCLUDE_FROM_ALL.rst index e7457e1e29..0eee297921 100644 --- a/Help/prop_tgt/EXCLUDE_FROM_ALL.rst +++ b/Help/prop_tgt/EXCLUDE_FROM_ALL.rst @@ -6,8 +6,16 @@ Exclude the target from the all target. A property on a target that indicates if the target is excluded from the default build target. If it is not, then with a Makefile for example typing make will cause this target to be built. The same -concept applies to the default build of other generators. Installing -a target with EXCLUDE_FROM_ALL set to true has undefined behavior. +concept applies to the default build of other generators. + +With ``EXCLUDE_FROM_ALL`` set to false or not set at all, the target +will be brought up to date as part of doing a ``make install`` or its +equivalent for the CMake generator being used. If a target has +``EXCLUDE_FROM_ALL`` set to true, then any attempt to install that +target has undefined behavior. Note that such a target can still safely +be listed in an :command:`install(TARGETS)` command as long as the install +components the target belongs to are not part of the set of components +that anything tries to install. This property is enabled by default for targets that are created in directories that have :prop_dir:`EXCLUDE_FROM_ALL` set to ``TRUE``. diff --git a/Help/release/3.14.rst b/Help/release/3.14.rst index 13d209fa5a..02a6974491 100644 --- a/Help/release/3.14.rst +++ b/Help/release/3.14.rst @@ -370,3 +370,7 @@ Other Changes :variable:`CPACK_DEBIAN_ARCHIVE_TYPE` variable, because ``dpkg`` has never supported the PAX tar format. The ``paxr`` value will be mapped to ``gnutar`` and a deprecation message emitted. + +* CMake no longer issues a warning if a target listed in an + :command:`install(TARGETS)` command has its :prop_tgt:`EXCLUDE_FROM_ALL` + property set to true. |