CMakeAddFortranSubdirectory

加入一個僅限 Fortran 的子目錄,尋找 Fortran 編譯器並進行建置。

cmake_add_fortran_subdirectory 函式會將一個子目錄加入專案,該子目錄包含一個僅限 Fortran 的子專案。該模組將檢查目前的編譯器,並查看其是否支援 Fortran。如果找不到 Fortran 編譯器且該編譯器為 MSVC,則此模組將尋找 MinGW gfortran。然後,它將使用外部專案透過 MinGW 工具進行建置。它還會為建立的函式庫建立匯入的目標。這只有在 Fortran 程式碼被建置為 dll 時才會有效,因此 BUILD_SHARED_LIBS 會在專案中開啟。此外,CMAKE_GNUtoMS 選項會設為開啟,以便建立 Microsoft .lib 檔案。用法如下

cmake_add_fortran_subdirectory(
 <subdir>                # name of subdirectory
 PROJECT <project_name>  # project name in subdir top CMakeLists.txt
 ARCHIVE_DIR <dir>       # dir where project places .lib files
 RUNTIME_DIR <dir>       # dir where project places .dll files
 LIBRARIES <lib>...      # names of library targets to import
 LINK_LIBRARIES          # link interface libraries for LIBRARIES
  [LINK_LIBS <lib> <dep>...]...
 CMAKE_COMMAND_LINE ...  # extra command line flags to pass to cmake
 NO_EXTERNAL_INSTALL     # skip installation of external project
 )

ARCHIVE_DIRRUNTIME_DIR 中的相對路徑會根據呼叫此函式的原始碼目錄所對應的建置目錄來解釋。

限制

為了與未來版本向前相容,未來版本會在 make install 期間支援安裝外部專案二進位檔,因此需要 NO_EXTERNAL_INSTALL