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 中的相對路徑會根據叫用函數的原始程式碼目錄所對應的建置目錄進行解譯。

限制

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