CMAKE_TRY_COMPILE_PLATFORM_VARIABLES

在版本 3.6 中添加。

为了以主机项目相同的平台为目标,try_compile() 命令源文件签名必须传播到测试项目中的变量列表。

此变量不应由项目代码设置。它旨在由 CMake 的平台信息模块为当前工具链设置,或者在使用 CMAKE_TOOLCHAIN_FILE 时由工具链文件设置。

对 CMake 有意义的变量,例如 CMAKE_<LANG>_FLAGS,会自动传播。CMAKE_TRY_COMPILE_PLATFORM_VARIABLES 变量可以设置为传递对工具链文件有意义的自定义变量。例如,一个工具链文件可能包含

set(CMAKE_SYSTEM_NAME ...)
set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES MY_CUSTOM_VARIABLE)
# ... use MY_CUSTOM_VARIABLE ...

如果用户向 CMake 传递 -DMY_CUSTOM_VARIABLE=SomeValue,则此设置对于主项目和由 try_compile() 命令源文件签名生成的测试项目都将可见。

在版本 3.24 中更改: 列出的变量也被传播到 try_compile() whole-project 签名。参见 CMP0137

在版本 3.24 中添加: CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES 变量可以设置为禁用将平台变量传递到测试项目中。