Skip to content

Commit 4dba796

Browse files
committed
Added nagfor specific flags.
1 parent 7d90a67 commit 4dba796

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

CMAKE/CheckLAPACKCompilerFlags.cmake

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ if ( FORTRAN_ILP )
2222
else ()
2323
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -integer-size 64")
2424
endif()
25+
elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "NAG" )
26+
if ( WIN32 )
27+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /i8")
28+
else ()
29+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -i8")
30+
endif()
2531
else()
2632
set(CPE_ENV $ENV{PE_ENV})
2733
if(CPE_ENV STREQUAL "CRAY")
@@ -85,6 +91,48 @@ elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "HP" )
8591
CACHE STRING "Flags used by the compiler during release builds" FORCE )
8692
set( CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_RELWITHDEBINFO} +O2 -g"
8793
CACHE STRING "Flags used by the compiler during release with debug info builds" FORCE )
94+
95+
# NAG Fortran
96+
elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "NAG" )
97+
if( "${CMAKE_Fortran_FLAGS}" MATCHES "[-/]ieee=(stop|nonstd)" )
98+
set( FPE_EXIT TRUE )
99+
endif()
100+
101+
if( NOT ("${CMAKE_Fortran_FLAGS}" MATCHES "[-/]ieee=full") )
102+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ieee=full")
103+
endif()
104+
105+
if( NOT ("${CMAKE_Fortran_FLAGS}" MATCHES "[-/]dcfuns") )
106+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -dcfuns")
107+
endif()
108+
109+
if( NOT ("${CMAKE_Fortran_FLAGS}" MATCHES "[-/]thread_safe") )
110+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -thread_safe")
111+
endif()
112+
113+
# Disable warnings
114+
if( NOT ("${CMAKE_Fortran_FLAGS}" MATCHES "[-/]w=obs") )
115+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w=obs")
116+
endif()
117+
118+
if( NOT ("${CMAKE_Fortran_FLAGS}" MATCHES "[-/]w=x77") )
119+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w=x77")
120+
endif()
121+
122+
if( NOT ("${CMAKE_Fortran_FLAGS}" MATCHES "[-/]w=ques") )
123+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w=ques")
124+
endif()
125+
126+
if( NOT ("${CMAKE_Fortran_FLAGS}" MATCHES "[-/]w=unused") )
127+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w=unused")
128+
endif()
129+
130+
# Suppress compiler banner and summary
131+
check_fortran_compiler_flag("-quiet" _quiet)
132+
if( _quiet AND NOT ("${CMAKE_Fortran_FLAGS}" MATCHES "[-/]quiet") )
133+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -quiet")
134+
endif()
135+
88136
else()
89137
endif()
90138

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,8 @@ elseif(CMAKE_Fortran_COMPILER_ID STREQUAL Intel)
133133
check_fortran_compiler_flag("-recursive" _recursiveFlag)
134134
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL XL)
135135
check_fortran_compiler_flag("-qrecur" _qrecurFlag)
136+
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL NAG)
137+
check_fortran_compiler_flag("-recursive" _recursiveFlag)
136138
else()
137139
message(WARNING "Fortran local arrays should be allocated on the stack."
138140
" Please use a compiler which guarantees that feature."

0 commit comments

Comments
 (0)