Help: Clarify EXCLUDE_FROM_DEFAULT_BUILD behavior

Note that solution build configurations ignore dependencies, unlike
the ALL_BUILD target.

Fixes: #12379
This commit is contained in:
Nikita Nemkin
2025-02-16 14:13:29 +05:00
parent 8fa9858e20
commit 9955a3bb73
2 changed files with 23 additions and 4 deletions

View File

@@ -26,3 +26,12 @@ the :manual:`cmake-generator-expressions(7)` manual for available expressions.
Only the "Ninja Multi-Config" generator supports a property value that varies by
configuration. For all other generators the value of this property must be the
same for all configurations.
See Also
^^^^^^^^
* To exclude targets from the whole directory subtree, see the
:prop_dir:`EXCLUDE_FROM_ALL` directory property.
* To exclude targets from the Visual Studio solution build, use
:prop_tgt:`EXCLUDE_FROM_DEFAULT_BUILD`.

View File

@@ -1,8 +1,18 @@
EXCLUDE_FROM_DEFAULT_BUILD
--------------------------
Exclude target from ``Build Solution``.
Exclude a target from the solution build configuration.
This property is only used by Visual Studio generators.
When set to ``TRUE``, the target will not be built when you press
``Build Solution``.
This property is only used by Visual Studio generators. When set to ``TRUE``,
the target will be excluded from the build when the "Build Solution" command
is run.
This property has a per-configuration version:
:prop_tgt:`EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>`.
.. note::
Solution build configurations do not take project dependencies into account.
If a target is excluded, it will not be built, even if another target
included in the configuration depends on it. This behavior differs from the
CMake-generated ``ALL_BUILD`` target and the :prop_tgt:`EXCLUDE_FROM_ALL`
property.