11# compiler flags for gfortran
22if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" )
33
4- if (SERIAL)
5- message (STATUS "Configuring to build with -fcoarray=single" )
6- add_compile_options ("$<$<COMPILE_LANGUAGE:Fortran>:-fcoarray=single>" )
4+ if (PARALLEL)
5+ message (STATUS "Configuring to build with -fcoarray=shared" )
6+ add_compile_options ("$<$<COMPILE_LANGUAGE:Fortran>:-fcoarray=shared>" )
7+ add_compile_definitions (PARALLEL)
78 else ()
8- add_compile_options ("$<$<COMPILE_LANGUAGE:Fortran>:-fcoarray=lib >" )
9+ add_compile_options ("$<$<COMPILE_LANGUAGE:Fortran>:-fcoarray=single >" )
910 endif ()
1011
1112 if (BLAS)
@@ -14,21 +15,22 @@ if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
1415 message (STATUS "Configuring build to use BLAS from ${BLAS} " )
1516 endif ()
1617
17- add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Debug>>:-fcheck=bounds;-fbacktrace>" )
18- add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Release>>:-Ofast;-fno-frontend-optimize;-fno-backtrace>" )
18+ add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Debug>>:-cpp;- fcheck=bounds;-fbacktrace>" )
19+ add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Release>>:-cpp;- Ofast;-fno-frontend-optimize;-fno-backtrace>" )
1920
2021elseif (CMAKE_Fortran_COMPILER_ID MATCHES "^Intel" )
2122 # compiler flags for ifort
2223
23- if (SERIAL )
24- message (STATUS "Configuring to build with -coarray=single " )
24+ if (PARALLEL )
25+ message (STATUS "Configuring to build with -coarray=shared " )
2526 if (WIN32 )
26- add_compile_options ("$<$<COMPILE_LANGUAGE:Fortran>:/Qcoarray:single >" )
27- add_link_options ("$<$<COMPILE_LANGUAGE:Fortran>:/Qcoarray:single >" )
27+ add_compile_options ("$<$<COMPILE_LANGUAGE:Fortran>:/Qcoarray:shared >" )
28+ add_link_options ("$<$<COMPILE_LANGUAGE:Fortran>:/Qcoarray:shared >" )
2829 else ()
29- add_compile_options ("$<$<COMPILE_LANGUAGE:Fortran>:-coarray=single >" )
30- add_link_options ("$<$<COMPILE_LANGUAGE:Fortran>:-coarray=single >" )
30+ add_compile_options ("$<$<COMPILE_LANGUAGE:Fortran>:-coarray=shared >" )
31+ add_link_options ("$<$<COMPILE_LANGUAGE:Fortran>:-coarray=shared >" )
3132 endif ()
33+ add_compile_definitions (PARALLEL)
3234 else ()
3335 if (WIN32 )
3436 add_compile_options ("$<$<COMPILE_LANGUAGE:Fortran>:/Qcoarray:shared>" )
@@ -40,16 +42,16 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^Intel")
4042 endif ()
4143
4244 if (WIN32 )
43- string (APPEND CMAKE_Fortran_FLAGS " /assume:byterecl" )
45+ string (APPEND CMAKE_Fortran_FLAGS " /assume:byterecl /fpp " )
4446 else ()
45- string (APPEND CMAKE_Fortran_FLAGS " -assume byterecl" )
47+ string (APPEND CMAKE_Fortran_FLAGS " -assume byterecl -fpp " )
4648 endif ()
47- add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Debug>>:-check;-traceback>" )
48- # add_compile_options("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Release>>:-O3>")
49+ add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Debug>>:-fpp;- check;-traceback>" )
50+ add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Release>>:-fpp; -O3>" )
4951
5052elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "Cray" )
5153 # compiler flags for Cray ftn
5254 string (APPEND CMAKE_Fortran_FLAGS " -h noomp" )
53- add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Debug>>:-O0;-g>" )
54- add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Release>>:-O3>" )
55+ add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Debug>>:-e Z;- O0;-g>" )
56+ add_compile_options ("$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:Release>>:-e Z;- O3>" )
5557endif ()
0 commit comments