CMAKE_FIND_PACKAGE_PREFER_CONFIG¶
在 3.15 版本加入.
如果未指定模式,请告诉 find_package() 在“模块”模式之前尝试“配置”模式。
当在没有 MODULE 选项的情况下使用简化签名时,命令 find_package() 在没有显式模式的情况下运行。在这种情况下,默认情况下,CMake 首先通过搜索“Find<pkg>.cmake”模块来尝试模块模式。如果失败,CMake 会使用 Config 模式搜索包。
将 CMAKE_FIND_PACKAGE_PREFER_CONFIG 设置为 TRUE 以告诉 find_package() 在回退到模块模式之前首先使用配置模式进行搜索。
当开发人员编译了公共库的自定义版本并希望将其链接到依赖项目时,此变量可能很有用。如果此变量设置为 TRUE,它将阻止依赖项目调用 find_package() 在找到开发人员的之前选择系统的 Find<pkg>.cmake 模块所在的默认库定制的库。
一旦设置了这个变量,导出的``<pkg>Config.cmake`` 文件就有责任提供与``Find<pkg>.cmake`` 模块相同的结果变量,以便相关项目可以使用它们可互换地。