summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2019-02-21 12:00:50 (GMT)
committerCraig Scott <craig.scott@crascit.com>2019-02-21 20:55:56 (GMT)
commitd3b765d4510b73ee17df0e2bee0f7b9a355c5cba (patch)
tree61ad8b7782543b8443edf2f222e023362106cc73 /Help/prop_tgt
parente6897c72e7c59f7a0b82ed19c1bdb40d42f7adaa (diff)
downloadCMake-d3b765d4510b73ee17df0e2bee0f7b9a355c5cba.zip
CMake-d3b765d4510b73ee17df0e2bee0f7b9a355c5cba.tar.gz
CMake-d3b765d4510b73ee17df0e2bee0f7b9a355c5cba.tar.bz2
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/prop_tgt')
-rw-r--r--Help/prop_tgt/EXCLUDE_FROM_ALL.rst12
1 files changed, 10 insertions, 2 deletions
diff --git a/Help/prop_tgt/EXCLUDE_FROM_ALL.rst b/Help/prop_tgt/EXCLUDE_FROM_ALL.rst
index e7457e1..0eee297 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``.