CMP0137

在版本 3.24 中添加。

try_compile() 传递项目模式中的平台变量。

try_compile() 命令 源文件 签名传播包含平台设置的 CMake 变量,以及 CMAKE_TRY_COMPILE_PLATFORM_VARIABLES 变量指定的值传播到生成的测试项目中。这有助于测试项目以与调用项目相同的方式驱动工具链。在 CMake 3.23 和更低版本中,整个项目 签名不会自动传播平台变量。CMake 3.24 及更高版本倾向于在 整个项目 签名中传播平台变量。此策略与尚未更新为预期此行为的项目兼容。

此策略的 OLD 行为是不会将任何其他变量传递到 整个项目 签名。此策略的 NEW 行为是传递与 源文件 签名相同的值。

无论策略设置是什么,CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES 变量都可以设置为禁止通过任一签名传递平台变量。

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

注意

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