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 ...

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

在 3.24 版本发生变更: 列出的变量也会传播到 try_compile() whole-project 签名。请参阅:policy:CMP0137

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