CheckFortranSourceCompiles

在版本 3.1 中新增。

檢查 Fortran 原始碼是否可以建置一次。

check_fortran_source_compiles
check_fortran_source_compiles(<code> <resultVar>
    [FAIL_REGEX <regex>...]
    [SRC_EXT <extension>]
)

檢查在 <code> 中提供的原始碼是否可以建置一次。結果會儲存在由 <resultVar> 指定的內部快取變數中,成功時為布林值 true,失敗時為布林值 false

如果提供 FAIL_REGEX,則透過檢查編譯器輸出中的任何內容是否與任何指定的正規表示式相符來判斷失敗。

預設情況下,測試原始碼檔案將被賦予 .F 檔案擴展名。可以使用 SRC_EXT 選項以 .<extension> 來覆寫此設定,.F90 是一種典型的選擇。

另請參閱 check_source_compiles() 以了解更通用的命令語法。

另請參閱 check_source_runs() 以執行編譯後的原始碼。

在內部,使用 try_compile() 來編譯原始碼。如果 CMAKE_TRY_COMPILE_TARGET_TYPE 設定為 EXECUTABLE(預設值),則原始碼會編譯並連結為可執行程式。如果設定為 STATIC_LIBRARY,則原始碼會被編譯,但不會連結。在任何情況下,所有函式都必須照常宣告。

編譯和連結命令可以透過在呼叫 check_fortran_source_compiles() 之前設定以下任何變數來影響:

CMAKE_REQUIRED_FLAGS

傳遞給編譯器的額外旗標字串。該字串必須以空格分隔,;-list 無法運作。CMAKE_<LANG>_FLAGS 及其相關的特定於組態的變數的內容會自動新增到編譯器命令中,然後才是 CMAKE_REQUIRED_FLAGS 的內容。

CMAKE_REQUIRED_DEFINITIONS

編譯器定義的 ;-list,格式為 -DFOO-DFOO=bar。也會自動新增由 <resultVar> 指定的名稱的定義。

CMAKE_REQUIRED_INCLUDES

傳遞給編譯器的標頭搜尋路徑的 ;-list。這些將是唯一使用的標頭搜尋路徑,INCLUDE_DIRECTORIES 目錄屬性的內容將被忽略。

CMAKE_REQUIRED_LINK_OPTIONS

在版本 3.14 中新增。

新增到連結命令的選項的 ;-list(有關更多詳細資訊,請參閱 try_compile())。

CMAKE_REQUIRED_LIBRARIES

新增到連結命令的程式庫的 ;-list。這些可以是系統程式庫的名稱,也可以是 匯入目標(有關更多詳細資訊,請參閱 try_compile())。

CMAKE_REQUIRED_LINK_DIRECTORIES

在版本 3.31 中新增。

傳遞給連結器的程式庫搜尋路徑的 ;-list(有關更多詳細資訊,請參閱 try_compile())。

CMAKE_REQUIRED_QUIET

在版本 3.1 中新增。

如果此變數評估為布林值 true,則會抑制與檢查相關的所有狀態訊息。