CMP0137¶
在 3.24 版本中添加。
try_compile()
在项目模式下传递平台变量。
try_compile()
命令 source file 签名会传播包含平台设置的 CMake 变量,以及由 CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
变量指定的变量,到生成的测试项目中。这有助于测试项目以与调用项目相同的方式驱动工具链。在 CMake 3.23 及更低版本中,whole-project 签名不会自动传播平台变量。CMake 3.24 及更高版本倾向于在 whole-project 签名中传播平台变量。此策略提供了与尚未更新以期望此行为的项目的兼容性。
此策略的 OLD
行为是不将任何额外的变量传递给 whole-project 签名。此策略的 NEW
行为是传递与 source file 签名相同的变量。
无论策略设置如何,都可以设置 CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES
变量,以禁止通过任一签名传递平台变量。
此策略在 CMake 3.24 版本中引入。可以通过 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 不会发出警告,并使用 OLD
行为。
注意
策略的 OLD
行为 按定义已弃用
,并可能在未来的 CMake 版本中删除。