From a8ac5f3c343e916d43dc16d30dc714407074b7ca Mon Sep 17 00:00:00 2001
From: Dominik Thoennes <dominik.thoennes@fau.de>
Date: Thu, 23 Sep 2021 19:16:16 +0200
Subject: [PATCH] add WALBERLA_CXX_COMPILER_IS_INTELLLVM

---
 CMakeLists.txt            | 12 ++++++++++--
 tests/core/CMakeLists.txt |  2 +-
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b77fda415..9a417f4f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -250,6 +250,14 @@ else()
 endif()
 mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_MPI_WRAPPER )
 
+# Check for intel llvm compiler
+if( CMAKE_CXX_COMPILER MATCHES "icx" OR CMAKE_CXX_COMPILER_ARG1 MATCHES "icx" )
+   option ( WALBERLA_CXX_COMPILER_IS_INTELLLVM "Use Intel LLVM compiler" ON  )
+else()
+   option ( WALBERLA_CXX_COMPILER_IS_INTELLLVM "Use Intel LLVM compiler" OFF  )
+endif()
+mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_INTELLLVM )
+
 ############################################################################################################################
 
 
@@ -428,7 +436,7 @@ if ( WALBERLA_BUILD_WITH_FASTMATH )
         add_flag( CMAKE_CXX_FLAGS "/fp:fast" )
     endif()
 else()
-   if( CMAKE_CXX_COMPILER_ID MATCHES IntelLLVM )
+   if( WALBERLA_CXX_COMPILER_IS_INTELLLVM )
       add_flag( CMAKE_CXX_FLAGS "-fp-model=precise")
    endif()
 endif()
@@ -1038,7 +1046,7 @@ if ( WALBERLA_BUILD_WITH_OPENMP )
         endif()
     endif()
 
-    if( CMAKE_CXX_COMPILER_ID MATCHES Clang OR CMAKE_CXX_COMPILER_ID MATCHES IntelLLVM )
+    if( WALBERLA_CXX_COMPILER_IS_CLANG OR WALBERLA_CXX_COMPILER_IS_INTELLLVM )
        # check for bug in combination with OpenMP and sign conversion https://bugs.llvm.org/show_bug.cgi?id=48387
        try_compile( WALBERLA_CLANG_OPENMP_BUG "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestClangOpenMPBug.cpp"
              COMPILE_DEFINITIONS -Werror )
diff --git a/tests/core/CMakeLists.txt b/tests/core/CMakeLists.txt
index e0cf5fc72..798a0b89d 100644
--- a/tests/core/CMakeLists.txt
+++ b/tests/core/CMakeLists.txt
@@ -199,7 +199,7 @@ waLBerla_compile_test( FILES GridGeneratorTest.cpp )
 waLBerla_execute_test( NAME GridGeneratorTest )
 
 #TODO: find fix for this test with intel OneApi compiler
-if(NOT CMAKE_CXX_COMPILER_ID MATCHES IntelLLVM )
+if(NOT WALBERLA_CXX_COMPILER_IS_INTELLLVM )
    waLBerla_compile_test( FILES MemoryUsage.cpp )
    waLBerla_execute_test( NAME MemoryUsage )
 endif()
-- 
GitLab