From 00f6dd84bc6861318305b4979d2e8324611fbf31 Mon Sep 17 00:00:00 2001 From: Sebastian Eibl <sebastian.eibl@fau.de> Date: Wed, 27 Jan 2021 11:42:33 +0100 Subject: [PATCH] [BUGFIX] handle failing of FindOpenMP --- CMakeLists.txt | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 80a06fc8d..36c6831d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1001,19 +1001,25 @@ endif() option ( WALBERLA_THREAD_SAFE_LOGGING "Enables/Disables thread-safe logging" ON ) if ( WALBERLA_BUILD_WITH_OPENMP ) - if ( WALBERLA_CXX_COMPILER_IS_NEC ) - add_flag ( CMAKE_C_FLAGS "-Popenmp" ) - add_flag ( CMAKE_CXX_FLAGS "-Popenmp" ) + find_package( OpenMP ) + if (OpenMP_FOUND) + add_flag ( CMAKE_C_FLAGS "${OpenMP_C_FLAGS}" ) + add_flag ( CMAKE_CXX_FLAGS "${OpenMP_CXX_FLAGS}" ) + list ( APPEND SERVICE_LIBS ${OpenMP_CXX_LIBRARIES} ) else() - find_package( OpenMP ) - add_flag ( CMAKE_C_FLAGS "${OpenMP_C_FLAGS}" ) - add_flag ( CMAKE_CXX_FLAGS "${OpenMP_CXX_FLAGS}" ) - list ( APPEND SERVICE_LIBS ${OpenMP_CXX_LIBRARIES} ) + #workarounds + if ( WALBERLA_CXX_COMPILER_IS_NEC ) + message( STATUS "Enabling OpenMP workaround for NEC") + add_flag ( CMAKE_C_FLAGS "-Popenmp" ) + add_flag ( CMAKE_CXX_FLAGS "-Popenmp" ) + else() + message(FATAL_ERROR "Could NOT enable OpenMP") + endif() endif() else() if ( WALBERLA_CXX_COMPILER_IS_CRAY ) - add_flag ( CMAKE_C_FLAGS "-h noomp" ) - add_flag ( CMAKE_CXX_FLAGS "-h noomp" ) + add_flag ( CMAKE_C_FLAGS "-h noomp" ) + add_flag ( CMAKE_CXX_FLAGS "-h noomp" ) endif() endif() ############################################################################################################################ -- GitLab