|
|
@ -8,6 +8,27 @@ subdirectory by default. This does not affect the "all" target of the |
|
|
|
subdirectory itself. Running e.g. ``make`` inside the subdirectory will |
|
|
|
still build its targets. |
|
|
|
|
|
|
|
If the :prop_tgt:`EXCLUDE_FROM_ALL` target property is set on a target |
|
|
|
then its value determines whether the target is included in the "all" |
|
|
|
target of this directory and its ancestors. |
|
|
|
``EXCLUDE_FROM_ALL`` is meant for when the subdirectory contains |
|
|
|
a separate part of the project that is useful, but not necessary, |
|
|
|
such as a set of examples, or e.g. an integrated 3rd party library. |
|
|
|
Typically the subdirectory should contain its own :command:`project` |
|
|
|
command invocation so that a full build system will be generated in the |
|
|
|
subdirectory (such as a Visual Studio IDE solution file). Note that |
|
|
|
inter-target dependencies supersede this exclusion. If a target built by |
|
|
|
the parent project depends on a target in the subdirectory, the dependee |
|
|
|
target will be included in the parent project build system to satisfy |
|
|
|
the dependency. |
|
|
|
|
|
|
|
If the ``EXCLUDE_FROM_ALL`` argument is provided, it has the following effects: |
|
|
|
|
|
|
|
* Targets defined in the subdirectory or below will not be |
|
|
|
included in the ``ALL`` target of the parent directory. |
|
|
|
Those targets must be built explicitly by the user, |
|
|
|
or be a dependency of another target that will be built. |
|
|
|
* Targets defined in the subdirectory or below will be |
|
|
|
excluded from IDE project files. |
|
|
|
* Any install rules defined in the subdirectory or below will |
|
|
|
be ignored when installing the parent directory. |
|
|
|
|
|
|
|
Note that these effects are not the same as those for the |
|
|
|
:prop_tgt:`EXCLUDE_FROM_ALL` target property. |