CMP0074

在 3.12 版本中增加。

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

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

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

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

注意

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