|
1 | | -# (C) Copyright 2009-2016 ECMWF. |
2 | | -# |
3 | | -# This software is licensed under the terms of the Apache Licence Version 2.0 |
4 | | -# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. |
5 | | -# In applying this licence, ECMWF does not waive the privileges and immunities |
6 | | -# granted to it by virtue of its status as an intergovernmental organisation nor |
7 | | -# does it submit to any jurisdiction. |
8 | 1 |
|
9 | 2 | if( NOT CMAKE_BUILD_TYPE MATCHES "Debug" ) |
10 | 3 | add_definitions( -DNDEBUG ) |
11 | | -endif( ) |
| 4 | +endif() |
12 | 5 |
|
13 | 6 | ####################################################################################### |
14 | 7 | # Fortran |
15 | 8 | ####################################################################################### |
16 | 9 |
|
| 10 | +message(STATUS "Compiler ID: ${CMAKE_Fortran_COMPILER_ID}") |
| 11 | +message(STATUS "Compiler: ${CMAKE_Fortran_COMPILER}") |
| 12 | + |
| 13 | +set(CMAKE_FORTRAN_STANDARD 08) |
| 14 | +set(CMAKE_FORTRAN_STANDARD_REQUIRED ON) |
| 15 | +set(CMAKE_FORTRAN_EXTENSIONS OFF) |
| 16 | + |
17 | 17 | if( CMAKE_Fortran_COMPILER_ID MATCHES "GNU" ) |
18 | 18 | include( compiler_flags_GNU_Fortran ) |
| 19 | + |
19 | 20 | elseif( CMAKE_Fortran_COMPILER_ID MATCHES "Intel" ) |
20 | | - include( compiler_flags_Intel_Fortran ) |
| 21 | + if( CMAKE_Fortran_COMPILER MATCHES ".*ifx.*" ) |
| 22 | + message(STATUS "Detected Intel ifx (LLVM-based) Fortran compiler") |
| 23 | + include( compiler_flags_IntelLLVM_Fortran ) # <-- new file for ifx |
| 24 | + else() |
| 25 | + message(STATUS "Detected Intel ifort (classic) Fortran compiler") |
| 26 | + include( compiler_flags_Intel_Fortran ) |
| 27 | + endif() |
| 28 | + |
| 29 | +elseif( CMAKE_Fortran_COMPILER_ID MATCHES "PGI" OR CMAKE_Fortran_COMPILER_ID MATCHES "NVHPC" ) |
| 30 | + include( compiler_flags_NVHPC_Fortran ) |
| 31 | + |
21 | 32 | elseif( CMAKE_Fortran_COMPILER_ID MATCHES "XL" ) |
22 | 33 | include( compiler_flags_XL_Fortran ) |
| 34 | + |
23 | 35 | elseif( CMAKE_Fortran_COMPILER_ID MATCHES "Cray" ) |
24 | 36 | include( compiler_flags_Cray_Fortran ) |
| 37 | + |
25 | 38 | else() |
26 | | - message( STATUS "Fortran compiler with ID ${CMAKE_CXX_COMPILER_ID} will be used with CMake default options") |
| 39 | + message( STATUS "Fortran compiler with ID ${CMAKE_Fortran_COMPILER_ID} will be used with CMake default options") |
27 | 40 | endif() |
28 | | - |
|
0 commit comments