CMP0137

加入於版本 3.24。

try_compile() 在專案模式下傳遞平台變數。

try_compile() 命令的try_compile() 原始檔簽章會將包含平台設定的 CMake 變數,以及由 CMAKE_TRY_COMPILE_PLATFORM_VARIABLES 變數指定的變數,傳播到產生的測試專案中。這有助於測試專案以與呼叫專案相同的方式驅動工具鏈。在 CMake 3.23 及更早版本中,完整專案簽章不會自動傳播平台變數。CMake 3.24 及更高版本傾向於在完整專案簽章中傳播平台變數。此策略提供了與尚未更新以預期此行為的專案的相容性。

此策略的 OLD 行為是不將任何額外變數傳遞到完整專案簽章。此策略的 NEW 行為是傳遞與 原始檔 簽章相同的變數。

無論策略設定為何,CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES 變數都可以設定為禁止透過任一簽章傳遞平台變數。

此策略於 CMake 3.24 版本中引入。它可以使用 cmake_policy()cmake_minimum_required() 進行設定。如果未設定,CMake 不會 警告,並使用 OLD 行為。

注意

策略的 OLD 行為依照定義已棄用,並可能在未來版本的 CMake 中移除。