1include(Compiler/GNU) 2__compiler_gnu(Fortran) 3 4set(CMAKE_Fortran_SUBMODULE_SEP "@") 5set(CMAKE_Fortran_SUBMODULE_EXT ".smod") 6 7set(CMAKE_Fortran_PREPROCESS_SOURCE 8 "<CMAKE_Fortran_COMPILER> -cpp <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> -o <PREPROCESSED_SOURCE>") 9 10set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed-form") 11set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree-form") 12 13if (NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 4.4) 14 set(CMAKE_Fortran_COMPILE_OPTIONS_PREPROCESS_ON "-cpp") 15 set(CMAKE_Fortran_COMPILE_OPTIONS_PREPROCESS_OFF "-nocpp") 16endif() 17 18set(CMAKE_Fortran_POSTPROCESS_FLAG "-fpreprocessed") 19 20# No -DNDEBUG for Fortran. 21string(APPEND CMAKE_Fortran_FLAGS_MINSIZEREL_INIT " -Os") 22string(APPEND CMAKE_Fortran_FLAGS_RELEASE_INIT " -O3") 23 24# No -isystem for Fortran because it will not find .mod files. 25unset(CMAKE_INCLUDE_SYSTEM_FLAG_Fortran) 26 27# Fortran-specific feature flags. 28set(CMAKE_Fortran_MODDIR_FLAG -J) 29