add_dependencies¶
Add a dependency between top-level targets.
add_dependencies(<target> <target-dependency>...)
Makes a top-level <target> depend on other top-level targets to
ensure that they build before <target> does. A top-level target
is one created by one of the add_executable(),
add_library(), or add_custom_target() commands
(but not targets generated by CMake like install).
At least one <target-dependency> must be given.
Dependencies added to an imported target or an interface library are followed transitively in its place since the target itself does not build.
Added in version 3.3: Allow adding dependencies to interface libraries.
Added in version 3.8: Dependencies will populate the MANUALLY_ADDED_DEPENDENCIES
property of <target>.
Changed in version 3.9: The Ninja Generators use weaker ordering than
other generators in order to improve available concurrency.
They only guarantee that the dependencies' custom commands are
finished before sources in <target> start compiling; this
ensures generated sources are available.
See Also¶
The
DEPENDSoption ofadd_custom_target()andadd_custom_command()commands for adding file-level dependencies in custom rules.The
OBJECT_DEPENDSsource file property to add file-level dependencies to object files.