add_dependencies
Добавляет зависимость между целевыми объектами верхнего уровня.
add_dependencies(<target> <target-dependency>...)
Заставляет целевой объект верхнего уровня <target> зависеть от других целевых объектов верхнего уровня, чтобы они собирались раньше, чем <target>. Целевой объект верхнего уровня создаётся одной из команд add_executable(), add_library() или add_custom_target() (но не целевыми объектами, создаваемыми CMake, например install).
Зависимости, добавленные к импортируемому целевому объекту или интерфейсной библиотеке, транзитивно применяются к его зависимостям, поскольку сам целевой объект не собирается.
Добавлено в версии 3.3: Разрешено добавлять зависимости к интерфейсным библиотекам.
Добавлено в версии 3.8: Зависимости заполняют свойство MANUALLY_ADDED_DEPENDENCIES целевого объекта <target>.
Изменено в версии 3.9: Генераторы Ninja используют менее строгий порядок, чем другие генераторы, чтобы повысить доступный уровень параллелизма. Они гарантируют только то, что пользовательские команды зависимостей завершаются до начала компиляции исходных файлов в <target>; это обеспечивает доступность сгенерированных исходных файлов.
Изменено в версии 4.1: Команду можно вызывать без зависимостей. Ранее требовалась хотя бы одна зависимость.
См. также
- Параметр
DEPENDSкомандadd_custom_target()иadd_custom_command()для добавления зависимостей на уровне файлов в пользовательские правила. - Свойство исходного файла
OBJECT_DEPENDSдля добавления зависимостей на уровне файлов к объектным файлам.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/command/add_dependencies.html