Skip to content

Commit af77ab5

Browse files
authored
chore: add Intel LLVM based compilers to CMake build (#1098)
1 parent 345ecfd commit af77ab5

File tree

5 files changed

+28
-5
lines changed

5 files changed

+28
-5
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@ if(NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo|MinSizeRel)$")
4141
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
4242
endif()
4343

44-
if(NOT CMAKE_C_COMPILER_ID MATCHES "^(Intel|GNU|Clang)$")
44+
if(NOT CMAKE_C_COMPILER_ID MATCHES "^(Intel|GNU|Clang|IntelLLVM)$")
4545
message(
4646
WARNING "Compiler not officially supported: ${CMAKE_C_COMPILER_ID}")
4747
endif()
4848

49-
if(NOT CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel|GNU)$")
49+
if(NOT CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel|GNU|IntelLLVM)$")
5050
message(
5151
WARNING "Compiler not officially supported: ${CMAKE_Fortran_COMPILER_ID}")
5252
endif()
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Intel LLVM based C
2+
3+
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -traceback")
4+
5+
set( CMAKE_C_FLAGS_RELEASE "-qno-opt-dynamic-align -O2 -debug minimal")
6+
7+
set( CMAKE_C_FLAGS_DEBUG "-O0 -g -ftrapuv")
8+
9+
set( CMAKE_C_LINK_FLAGS "")
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Precision-based Fortran compiler flags
2+
set(r4_flags "-real-size 32") # Fortran flags for 32BIT precision
3+
set(r8_flags "-real-size 64") # Fortran flags for 64BIT precision
4+
5+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fpp -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -align array64byte -nowarn -traceback")
6+
7+
set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -debug minimal -nowarn -qoverride-limits -qno-opt-dynamic-align")
8+
9+
set(CMAKE_Fortran_FLAGS_DEBUG "-g -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fpe0 -ftrapuv")
10+
11+
set(CMAKE_Fortran_LINK_FLAGS "")

cmake/compiler_flags_Intel_Fortran.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ set(r4_flags "-real-size 32") # Fortran flags for 32BIT precision
33
set(r8_flags "-real-size 64") # Fortran flags for 64BIT precision
44
set(r8_flags "${r8_flags} -no-prec-div -no-prec-sqrt")
55

6-
# Intel Fortan
76
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fpp -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -align array64byte -nowarn -sox -traceback")
87

98
set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -debug minimal -fp-model source -nowarn -qoverride-limits -qno-opt-dynamic-align -qopt-prefetch=3")

cmake/fms_compiler_flags.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44

55
if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
66
include(compiler_flags_GNU_Fortran)
7-
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
7+
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
88
include(compiler_flags_Intel_Fortran)
9+
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "IntelLLVM")
10+
include(compiler_flags_IntelLLVM_Fortran)
911
else()
1012
message(WARNING "Fortran compiler with ID ${CMAKE_Fortran_COMPILER_ID} will be used with CMake default options")
1113
endif()
@@ -16,8 +18,10 @@ endif()
1618

1719
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
1820
include(compiler_flags_GNU_C)
19-
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
21+
elseif(CMAKE_C_COMPILER_ID STREQUAL "Intel")
2022
include(compiler_flags_Intel_C)
23+
elseif(CMAKE_C_COMPILER_ID STREQUAL "IntelLLVM")
24+
include(compiler_flags_IntelLLVM_C)
2125
elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
2226
include(compiler_flags_Clang_C)
2327
else()

0 commit comments

Comments
 (0)