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