CMP0074

在版本 3.12 中添加。

find_package() 使用 <PackageName>_ROOT 变量。

在 CMake 3.12 及以上版本中,find_package(<PackageName>) 命令现在搜索由 <PackageName>_ROOT CMake 变量和 <PackageName>_ROOT 环境变量指定的前缀。包根目录作为堆栈维护,因此在查找模块和配置包内部对所有 find_* 命令的嵌套调用也会将根目录作为前缀进行搜索。此策略提供了与尚未更新以避免将 <PackageName>_ROOT 变量用于其他目的的项目的兼容性。

此策略的 OLD 行为是忽略 <PackageName>_ROOT 变量。此策略的 NEW 行为是使用 <PackageName>_ROOT 变量。

此策略在 CMake 版本 3.12 中引入。它可以通过 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake 会发出警告,并使用 OLD 行为。

注意

策略的 OLD 行为按照 定义已弃用,并可能在未来的 CMake 版本中移除。