File tree Expand file tree Collapse file tree 2 files changed +23
-4
lines changed Expand file tree Collapse file tree 2 files changed +23
-4
lines changed Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ set( FPE_EXIT FALSE )
16
16
17
17
# FORTRAN ILP default
18
18
set (FOPT_ILP64 )
19
- if ( CMAKE_Fortran_COMPILER_ID STREQUAL "Intel" )
19
+ if ( CMAKE_Fortran_COMPILER_ID MATCHES "Intel" )
20
20
if ( WIN32 )
21
21
set (FOPT_ILP64 /integer-size:64 )
22
22
else ()
@@ -31,6 +31,12 @@ elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "NAG" )
31
31
else ()
32
32
set (FOPT_ILP64 -i8 )
33
33
endif ()
34
+ elseif ( CMAKE_Fortran_COMPILER_ID STREQUAL "NVHPC" )
35
+ if ( WIN32 )
36
+ set (FOPT_ILP64 /i8 )
37
+ else ()
38
+ set (FOPT_ILP64 -i8 )
39
+ endif ()
34
40
else ()
35
41
set (CPE_ENV $ENV{PE_ENV} )
36
42
if (CPE_ENV STREQUAL "CRAY" )
@@ -52,7 +58,7 @@ if( CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" )
52
58
endif ()
53
59
54
60
# Intel Fortran
55
- elseif ( CMAKE_Fortran_COMPILER_ID STREQUAL "Intel" )
61
+ elseif ( CMAKE_Fortran_COMPILER_ID MATCHES "Intel" )
56
62
if ( "${CMAKE_Fortran_FLAGS} " MATCHES "[-/]fpe(-all=|)0" )
57
63
set ( FPE_EXIT TRUE )
58
64
endif ()
@@ -138,6 +144,17 @@ elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "NAG" )
138
144
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -quiet" )
139
145
endif ()
140
146
147
+ # NVIDIA HPC SDK
148
+ elseif ( CMAKE_Fortran_COMPILER_ID STREQUAL "NVHPC" )
149
+ if ( ("${CMAKE_Fortran_FLAGS} " MATCHES "-Ktrap=" ) AND
150
+ NOT ("${CMAKE_Fortran_FLAGS} " MATCHES "-Ktrap=none" ) )
151
+ set ( FPE_EXIT TRUE )
152
+ endif ()
153
+
154
+ if ( NOT ("${CMAKE_Fortran_FLAGS} " MATCHES "[-/]Kieee" ) )
155
+ set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Kieee" )
156
+ endif ()
157
+
141
158
else ()
142
159
endif ()
143
160
Original file line number Diff line number Diff line change @@ -135,12 +135,14 @@ if(CMAKE_Fortran_COMPILER_ID STREQUAL Flang)
135
135
check_fortran_compiler_flag ("-Mrecursive" _MrecursiveFlag )
136
136
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL GNU )
137
137
check_fortran_compiler_flag ("-frecursive" _frecursiveFlag )
138
- elseif (CMAKE_Fortran_COMPILER_ID STREQUAL Intel )
138
+ elseif (CMAKE_Fortran_COMPILER_ID MATCHES Intel )
139
139
check_fortran_compiler_flag ("-recursive" _recursiveFlag )
140
140
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL XL )
141
141
check_fortran_compiler_flag ("-qrecur" _qrecurFlag )
142
142
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL NAG )
143
143
check_fortran_compiler_flag ("-recursive" _recursiveFlag )
144
+ elseif (CMAKE_Fortran_COMPILER_ID STREQUAL NVHPC )
145
+ check_fortran_compiler_flag ("-Mrecursive" _MrecursiveFlag )
144
146
else ()
145
147
message (WARNING "Fortran local arrays should be allocated on the stack."
146
148
" Please use a compiler which guarantees that feature."
@@ -175,7 +177,7 @@ elseif(_qrecurFlag)
175
177
endif ()
176
178
177
179
if (UNIX )
178
- if (CMAKE_Fortran_COMPILER_ID STREQUAL Intel )
180
+ if (CMAKE_Fortran_COMPILER_ID MATCHES Intel )
179
181
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fp-model strict" )
180
182
endif ()
181
183
if (CMAKE_Fortran_COMPILER_ID STREQUAL XL )
You can’t perform that action at this time.
0 commit comments