Согласно документации , find_dependency
это просто оболочка вокруг find_package
:
Он предназначен для использования в файле конфигурации пакета (<package>Config.cmake
). find_dependency
передает правильные параметры для QUIET и REQUIRED , которые были переданы исходному вызову find_package()
. Любые дополнительные аргументы передаются find_package()
.
Если зависимость не может быть найдена, она устанавливает информационное диагностическое сообщение и вызывает return()
, чтобы завершить обработку файла конфигурации вызывающего пакета и вернуться к команде find_package()
, которая его загрузила.
Если вы используете, например, find_package(REQUIRED)
вместо find_dependency
, и пакет не будет найден, пользователю будет трудно понять, что ошибка связана с внешним пакетом, а не только с внутренний. Кроме того, если внешний вызов find_package
не использует опцию REQUIRE , выполнение внутреннего вызова с этой опцией несовместимо.