You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cmake/Help/prop_dir/EXCLUDE_FROM_ALL.rst

35 lines
1.6 KiB

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 :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.