| add_dependencies | |
| ---------------- | |
| Add a dependency between top-level targets. | |
| .. code-block:: cmake | |
| 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 :command:`add_executable`, | |
| :command:`add_library`, or :command:`add_custom_target` commands | |
| (but not targets generated by CMake like ``install``). | |
| Dependencies added to an :ref:`imported target <Imported Targets>` | |
| or an :ref:`interface library <Interface Libraries>` are followed | |
| transitively in its place since the target itself does not build. | |
| .. versionadded:: 3.3 | |
| Allow adding dependencies to interface libraries. | |
| .. versionadded:: 3.8 | |
| Dependencies will populate the :prop_tgt:`MANUALLY_ADDED_DEPENDENCIES` | |
| property of ``<target>``. | |
| .. versionchanged:: 3.9 | |
| The :ref:`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. | |
| .. versionchanged:: 4.1 | |
| The command may be called with no dependencies. | |
| Previously, at least one dependency was required. | |
| .. versionchanged:: 4.5 | |
| If ``<target>`` is an :ref:`Alias Target <Alias Targets>`, dependencies are | |
| added to the target which the alias references. | |
| See Also | |
| ^^^^^^^^ | |
| * The ``DEPENDS`` option of :command:`add_custom_target` and | |
| :command:`add_custom_command` commands for adding file-level | |
| dependencies in custom rules. | |
| * The :prop_sf:`OBJECT_DEPENDS` source file property to add | |
| file-level dependencies to object files. |