summaryrefslogtreecommitdiff
path: root/share/cmake-3.16/Modules/Compiler/GNU-Fortran.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'share/cmake-3.16/Modules/Compiler/GNU-Fortran.cmake')
-rw-r--r--share/cmake-3.16/Modules/Compiler/GNU-Fortran.cmake23
1 files changed, 23 insertions, 0 deletions
diff --git a/share/cmake-3.16/Modules/Compiler/GNU-Fortran.cmake b/share/cmake-3.16/Modules/Compiler/GNU-Fortran.cmake
new file mode 100644
index 0000000..6413769
--- /dev/null
+++ b/share/cmake-3.16/Modules/Compiler/GNU-Fortran.cmake
@@ -0,0 +1,23 @@
+include(Compiler/GNU)
+__compiler_gnu(Fortran)
+
+set(CMAKE_Fortran_SUBMODULE_SEP "@")
+set(CMAKE_Fortran_SUBMODULE_EXT ".smod")
+
+set(CMAKE_Fortran_PREPROCESS_SOURCE
+ "<CMAKE_Fortran_COMPILER> -cpp <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> -o <PREPROCESSED_SOURCE>")
+
+set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed-form")
+set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree-form")
+
+set(CMAKE_Fortran_POSTPROCESS_FLAG "-fpreprocessed")
+
+# No -DNDEBUG for Fortran.
+string(APPEND CMAKE_Fortran_FLAGS_MINSIZEREL_INIT " -Os")
+string(APPEND CMAKE_Fortran_FLAGS_RELEASE_INIT " -O3")
+
+# No -isystem for Fortran because it will not find .mod files.
+unset(CMAKE_INCLUDE_SYSTEM_FLAG_Fortran)
+
+# Fortran-specific feature flags.
+set(CMAKE_Fortran_MODDIR_FLAG -J)