EXCLUDE_FROM_ALLΒΆ
Set this directory property to a true value on a subdirectory to exclude
its targets from the "all" target of its ancestors. If excluded, running
e.g. make
in the parent directory will not build targets the
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.
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 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
EXCLUDE_FROM_ALL
target property.