diff --git a/ConfigureCompilerFlags.cmake b/ConfigureCompilerFlags.cmake index d6f216afddbd0e9dedb0fca7a370cc75e434f957..6c666a4af75de51fc5efd1a1febfb65c64ba2ae2 100644 --- a/ConfigureCompilerFlags.cmake +++ b/ConfigureCompilerFlags.cmake @@ -31,8 +31,16 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES Intel) " -check bounds,format,output_conversion,pointers,stack,uninit") # Data: + string(APPEND CMAKE_Fortran_FLAGS " -auto -mcmodel=medium") - string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -init=arrays,minus_huge,snan") + include(CheckFortranCompilerFlag) + check_fortran_compiler_flag("-init=minus_huge" HAS_FLAG) + + if(HAS_FLAG) + string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -init=arrays,minus_huge,snan") + else() + string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -init=arrays,snan") + endif() # Compiler diagnostics: string(APPEND CMAKE_Fortran_FLAGS