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 簽章。請參閱 CMP0137

在 3.24 版本加入: CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES 變數可以設定為停用將平台變數傳遞到測試專案。