diff --git a/CMakeLists.txt b/CMakeLists.txt index b77fda4155ac2a0d539b3dc7a5cdf08309c8669a..9a417f4f28d091dfd9329c51880be13cb2b5f496 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 e0cf5fc72511dcee12f2dceae55ebf5166af85da..798a0b89d36c0db03ba53ff00dd79937f9b2a9a7 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()