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

Dependencies added to an imported target or an interface library are followed transitively in its place since the target itself does not build.

Добавлено в версии 3.3: Allow adding dependencies to interface libraries.

Добавлено в версии 3.8: Dependencies will populate the MANUALLY_ADDED_DEPENDENCIES property of <target>.

Изменено в версии 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.

Изменено в версии 4.1: The command may be called with no dependencies. Previously, at least one dependency was required.

See Also