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