CMP0074¶
在 3.12 版本加入.
find_package() 使用``<PackageName>_ROOT`` 变量。
在 CMake 3.12 及更高版本中, find_package(<PackageName>) 命令现在搜索由 <PackageName>_ROOT CMake 变量和 <PackageName>_ROOT 环境变量指定的前缀。包根以堆栈形式维护,因此对查找模块和配置包中所有“find_*”命令的嵌套调用也将根作为前缀进行搜索。此策略提供与尚未更新的项目的兼容性,以避免将“<PackageName>_ROOT”变量用于其他目的。
此策略的“旧”行为是忽略“<PackageName>_ROOT”变量。此策略的“新”行为是使用“<PackageName>_ROOT”变量。
此策略是在 CMake 版本 3.12 中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLD 或 NEW。
备注
策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。