CMAKE_TRY_COMPILE_PLATFORM_VARIABLES

3.6 版本新增。

一个变量列表,try_compile() 命令的源文件签名必须将其传播到测试项目中,以便与主机项目定位相同的平台。

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

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

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

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

版本 3.24 中更改:列出的变量也传播到 try_compile()整个项目 签名。 请参阅 CMP0137

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