From 2bddc36b976d8b3c272e72609b5bd1ca4d596552 Mon Sep 17 00:00:00 2001 From: GillesDuvert Date: Tue, 13 Aug 2024 19:32:44 +0200 Subject: [PATCH] should make it on modern macs --- CMakeLists.txt | 14 ++++++-------- scripts/build_gdl.sh | 18 ++++++++---------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3bcb5c75e..92e104543 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -478,19 +478,17 @@ endif(PNGLIB) # -DOPENMP=ON|OFF if(OPENMP) find_package(OpenMP QUIET) - set(USE_OPENMP ${OPENMP_FOUND}) - if(OPENMP_FOUND) + set(USE_OPENMP ${OpenMP_CXX_FOUND}) +# set(USE_OPENMP ${OPENMP_FOUND}) + if(USE_OPENMP) if(MSVC) set(LIBRARIES ${LIBRARIES} vcomp) elseif(WIN32) set(LIBRARIES ${LIBRARIES} gomp pthread) else() - set(LIBRARIES ${LIBRARIES} ${OpenMP_CXX_FLAGS}) + set(LIBRARIES ${LIBRARIES} OpenMP::OpenMP_CXX) endif() - if(APPLE) - link_directories(/usr/local/lib) - endif() - else(OPENMP_FOUND) + else(USE_OPENMP) message(FATAL_ERROR "Your compiler does not support OpenMP or OpenMP was not found" "note that disabling OpenMP will incur significant performance penalty !\n" "Use -DCMAKE_CXX_COMPILER=PATH and -DCMAKE_C_COMPILER=PATH to specify the compiler path." @@ -498,7 +496,7 @@ if(OPENMP) "Use -DOPENMP=OFF to not use it.\n" "(suitable Homebrew compiler package: llvm)" "(suitable Homebrew library package: libomp)") - endif(OPENMP_FOUND) + endif(USE_OPENMP) else(OPENMP) # we need to define those semaphore posix symbols, do it with threads libs find_package(Threads) diff --git a/scripts/build_gdl.sh b/scripts/build_gdl.sh index 2518ecb51..e14b38cac 100755 --- a/scripts/build_gdl.sh +++ b/scripts/build_gdl.sh @@ -447,20 +447,18 @@ function configure_gdl { if [[ ${BUILD_OS} == "macOS" ]]; then if [[ ${Platform} == "arm64" ]]; then export LIBRARY_PATH=$LIBRARY_PATH:/opt/homebrew/opt/llvm/lib - CMAKE_ADDITIONAL_ARGS=( "-DMPI=OFF -DREADLINEDIR=/opt/homebrew/opt/readline" - "-DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++" - "-DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang" ) + CMAKE_ADDITIONAL_ARGS=( "-DMPI=OFF -DREADLINEDIR=/opt/homebrew/opt/readline") else export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/llvm/lib - CMAKE_ADDITIONAL_ARGS=( "-DMPI=OFF -DREADLINEDIR=/usr/local/opt/readline" - "-DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++" - "-DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang" ) - fi + CMAKE_ADDITIONAL_ARGS=( "-DMPI=OFF -DREADLINEDIR=/usr/local/opt/readline") + fi fi if [[ ${BUILD_OS} != "macOS" ]]; then + CMAKE_OPENMP_OPT="-DOPENMP=${WITH_OPENMP}" CMAKE_QHULLDIR_OPT="-DQHULLDIR="${ROOT_DIR}"/qhull-2020.2" else + CMAKE_OPENMP_OPT="" CMAKE_QHULLDIR_OPT="" fi @@ -474,13 +472,13 @@ function configure_gdl { cmake ${GDL_DIR} -G"${GENERATOR}" \ -DCMAKE_BUILD_TYPE=${Configuration} \ -DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG" \ - -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=${WITH_OPENMP} \ + -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \ -DWXWIDGETS=${WITH_WXWIDGETS} -DX11={WITH_X11} -DGRAPHICSMAGICK=${WITH_GRAPHICSMAGICK} \ -DNETCDF=${WITH_NETCDF} -DHDF=${WITH_HDF4} -DHDF5=${WITH_HDF5} \ -DMPI=${WITH_MPI} -DTIFF=${WITH_TIFF} -DGEOTIFF=${WITH_GEOTIFF} \ -DLIBPROJ=${WITH_LIBPROJ} -DPYTHON=${WITH_PYTHON} -DPYTHONVERSION=${PYTHONVERSION} -DFFTW=${WITH_FFTW} \ - -DUDUNITS2=${WITH_UDUNITS2} -DGLPK=${WITH_GLPK} -DGRIB=${WITH_GRIB} -DOPENMP=${WITH_OPENMP} \ - ${CMAKE_ADDITIONAL_ARGS[@]} ${CMAKE_QHULLDIR_OPT} \ + -DUDUNITS2=${WITH_UDUNITS2} -DGLPK=${WITH_GLPK} -DGRIB=${WITH_GRIB} \ + ${CMAKE_ADDITIONAL_ARGS[@]} ${CMAKE_QHULLDIR_OPT} ${CMAKE_OPENMP_OPT}\ -DMACHINE_ARCH=${Platform} }