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() 整个项目 签名。请参阅 CMP0137。
3.24 版本已添加: 可以将 CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES 变量设置为禁用将平台变量传递到测试项目。