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 版本中被移除。