diff --git a/.circleci/config.yml b/.circleci/config.yml index 9bfef5f1..8468fa13 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -150,10 +150,17 @@ references: ccache --max-size=512M ccache --show-stats + # Disable OpenMP if it is clang, because Ubuntu 14.04 doesn't have the libomp-dev package needed to support OpenMP for clang. + if [[ ${APT_COMPILER_PACKAGE} == clang* ]]; then + OPENMP_PARAMS="-DDISABLE_OPENMP=ON" + else + OPENMP_PARAMS="" + fi + # Build mkdir cmake cd cmake - cmake .. -DBUILD_TESTING=on -DCMAKE_BUILD_TYPE=${BUILD_TYPE} + cmake .. -DBUILD_TESTING=on -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${OPENMP_PARAMS} make -j$NUMCORES ccache --show-stats diff --git a/vendor/cryptopp/CMakeLists.txt b/vendor/cryptopp/CMakeLists.txt index c515bed4..954498bd 100644 --- a/vendor/cryptopp/CMakeLists.txt +++ b/vendor/cryptopp/CMakeLists.txt @@ -5,13 +5,14 @@ add_library(cryptopp dummy.cpp) target_include_directories(cryptopp SYSTEM INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) if(NOT DISABLE_OPENMP) - if(APPLE AND (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0" - AND CMAKE_VERSION VERSION_LESS "3.12.0") + if((APPLE AND ((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))) + AND ((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0") AND (CMAKE_VERSION VERSION_LESS "3.12.0"))) # Workaround because older cmake on apple doesn't support FindOpenMP + message(STATUS "Applying workaround for OSX OpenMP") set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-Xclang -fopenmp") target_link_libraries(cryptopp PRIVATE -lomp) else() + message(STATUS "Using OpenMP") find_package(OpenMP) if(OPENMP_FOUND) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS})