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