在package-Config.cmake中,如果我执行find_package而不是find_dependency,那对我的应用程序会有什么影响?在什么情况下它会破裂?
答案 0 :(得分:3)
根据documentation,find_dependency
只是find_package
的封套:
它旨在用于包配置文件(
<package>Config.cmake
)。find_dependency
转发传递给原始find_package()
调用的 QUIET 和 REQUIRED 的正确参数。指定的任何其他参数都将转发到find_package()
。如果找不到依赖项,它会设置一条信息性诊断消息,并调用
return()
来结束对调用包配置文件的处理,并返回加载它的find_package()
命令。
如果您使用find_package(REQUIRED)
而不是find_dependency
,并且找不到包,那么用户很难理解错误与外包有关,不仅仅是内心的。此外,如果find_package
的外部调用不使用 REQUIRE 选项,则使用该选项执行内部调用是不一致的。