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

New in version 3.3: Allow adding dependencies to interface libraries.

## See Also

- The `DEPENDS` option of `add_custom_target()` and `add_custom_command()` commands for adding file-level dependencies in custom rules.

- The `OBJECT_DEPENDS` source file property to add file-level dependencies to object files.