CMAKE_USER_MAKE_RULES_OVERRIDE

指定一個 CMake 檔案,其會覆寫平台資訊。

當從 project()enable_language() 命令啟用對每種語言的支援時,CMake 會載入指定的檔案。它會在 CMake 的內建編譯器和平台資訊模組載入後,但在資訊被使用前載入。該檔案可以設定平台資訊變數以覆寫 CMake 的預設值。請參閱 CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG> 以取得此變數的語言特定版本。

此功能僅適用於覆寫資訊變數,這些變數必須在 CMake 建置其第一個測試專案以檢查語言的編譯器是否運作之前設定。在正常 include() 可以運作的情況下,不應使用它來載入檔案。僅在沒有其他方法可以實現行為時才將其用作最後手段。例如,可以設定 CMAKE_C_FLAGS_INIT 變數,以變更用於初始化 CMAKE_C_FLAGS 變數的預設值,然後再快取它。覆寫檔案不應用於設定任何可以在啟用語言後設定的內容,例如影響二進制檔案放置位置的 CMAKE_RUNTIME_OUTPUT_DIRECTORY 等變數。檔案中設定的資訊也將用於 try_compile()try_run() 建置。