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