Skip to content

Commit e52ade6

Browse files
committed
Fix OpenMP for MacOS
1 parent fa48631 commit e52ade6

2 files changed

Lines changed: 16 additions & 7 deletions

File tree

.github/workflows/wheel-builder.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,6 @@ jobs:
207207
# actually we use recent version of llvm, to get full compatibility
208208
# with C++20
209209
brew install llvm@20
210-
211210
LLVM_PREFIX=$(brew --prefix llvm@20)
212211
echo "PATH=$LLVM_PREFIX/bin:$PATH" >> $GITHUB_ENV
213212
echo "CC=clang" >> $GITHUB_ENV
@@ -217,13 +216,18 @@ jobs:
217216
echo "LD=ld.lld" >> $GITHUB_ENV
218217
echo "DYLD_LIBRARY_PATH=$LLVM_PREFIX/lib:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV
219218
219+
brew install lld@20
220+
LLD_PREFIX=$(brew --prefix lld@20)
220221
221222
brew install libomp
223+
echo "OPENMP_ROOT=$(brew --prefix libomp)" >> $GITHUB_ENV
224+
222225
OMP_PREFIX=$(brew --prefix libomp)
223-
echo "LIBOMP=$OMP_PREFIX/lib/libomp.dylib" >> $GITHUB_ENV
224-
echo "LDFLAGS=-L/usr/local/opt/libomp/lib:LDFLAGS" >> $GITHUB_ENV
225-
echo "CPPFLAGS=-I/usr/local/opt/libomp/include" >> $GITHUB_ENV
226-
#echo "LDFLAGS=-fuse-ld=ld.lld" >> $GITHUB_ENV
226+
echo "LIBOMP=${OMP_PREFIX}/lib/libomp.dylib" >> $GITHUB_ENV
227+
echo "OpenMP_CXX_INCLUDE_DIR=${OMP_PREFIX}/include" >> $GITHUB_ENV
228+
229+
echo "LDFLAGS=-L${OMP_PREFIX}/lib -L${LLD_PREFIX}/lib -L${LLVM_PREFIX}/lib" >> $GITHUB_ENV
230+
echo "CPPFLAGS=-I${OMP_PREFIX}/include -I${LLD_PREFIX}/include -I${LLVM_PREFIX}/include" >> $GITHUB_ENV
227231
228232
229233
# TODO: The following block is an ugly hack but, at the moment (2025-02-25),

CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ MESSAGE(STATUS "CMake version " ${CMAKE_VERSION} " detected")
2626
################################################################################
2727

2828
cmake_minimum_required(VERSION 3.29)
29-
cmake_policy(VERSION 3.25)
29+
cmake_policy(VERSION 3.29) # We need CMP0144
3030

3131

3232
MESSAGE(STATUS "Building LuxCore ${LUXCORE_VERSION}")
@@ -163,7 +163,6 @@ INCLUDE(CheckCompilerVersion)
163163

164164
# Nota: please keep all 'find_package' gathered here (for maintenance reasons)
165165
message(STATUS "LuxCore - Add dependency targets")
166-
find_package(OpenMP REQUIRED)
167166
find_package(TBB REQUIRED)
168167
find_package(minizip REQUIRED)
169168
find_package(spdlog REQUIRED)
@@ -182,8 +181,14 @@ find_package(OpenSubdiv REQUIRED)
182181
find_package(nlohmann_json REQUIRED)
183182
find_package(robin_hood REQUIRED)
184183
if (WIN32 OR LINUX)
184+
find_package(OpenMP REQUIRED)
185185
find_package(nvrtc REQUIRED)
186186
endif()
187+
if (APPLE)
188+
set(CMAKE_FIND_DEBUG_MODE TRUE)
189+
find_package(OpenMP)
190+
set(CMAKE_FIND_DEBUG_MODE FALSE)
191+
endif()
187192

188193
# Bison/Flex
189194
find_package(BISON REQUIRED)

0 commit comments

Comments
 (0)