2828 strategy :
2929 fail-fast : False
3030 matrix :
31- os : [ubuntu-latest, windows-latest, macos-15-intel, macos-15]
32- # os: [macos-15-intel, macos-15]
31+ # os: [ubuntu-latest, windows-latest, macos-15-intel, macos-15]
32+ # os: [ubuntu-latest, macos-15-intel, macos-15]
33+ os : [macos-15]
3334 env :
3435 BUILD_TYPE : Release
3536 # SANITIZE: true # uncomment to sanitize
@@ -173,13 +174,45 @@ jobs:
173174 arch='x86_64';
174175 }
175176 else {
176- target = '12 .0';
177+ target = '15 .0';
177178 arch='armv8';
178179 }
179180 core.exportVariable('MACOSX_DEPLOYMENT_TARGET', target);
180181 core.exportVariable('CMAKE_OSX_DEPLOYMENT_TARGET', target);
181182 core.exportVariable('PKG_ARCH', arch);
182183
184+ - name : Prepare MacOS (set build tools)
185+ if : runner.os == 'macOS'
186+ shell : bash
187+ run : |
188+ # We make conan believe we use apple-clang (see profiles), but
189+ # actually we use recent version of llvm, to get full compatibility
190+ # with C++20
191+ brew install llvm@20
192+ LLVM_PREFIX=$(brew --prefix llvm@20)
193+ echo "LLVM_PREFIX=${LLVM_PREFIX}" >> $GITHUB_ENV
194+ echo "CC=${LLVM_PREFIX}/bin/clang" >> $GITHUB_ENV
195+ echo "CXX=${LLVM_PREFIX}/bin/clang++" >> $GITHUB_ENV
196+ echo "AR=${LLVM_PREFIX}/bin/llvm-ar" >> $GITHUB_ENV
197+ echo "RANLIB=${LLVM_PREFIX}/bin/llvm-ranlib" >> $GITHUB_ENV
198+ echo "DYLD_LIBRARY_PATH=${LLVM_PREFIX}/lib:${DYLD_LIBRARY_PATH}" >> $GITHUB_ENV
199+
200+ brew install lld@20
201+ LLD_PREFIX=$(brew --prefix lld@20)
202+ echo "LLD_PREFIX=${LLD_PREFIX}" >> $GITHUB_ENV
203+ echo "LD=${LLD_PREFIX}/bin/ld.lld" >> $GITHUB_ENV
204+ echo "LDFLAGS=-L${LLD_PREFIX}/lib" >> $GITHUB_ENV
205+ echo "CXXFLAGS=-I${LLD_PREFIX}/include -fuse-ld=lld" >> $GITHUB_ENV
206+ echo "CFLAGS=-I${LLD_PREFIX}/include -fuse-ld=lld" >> $GITHUB_ENV
207+
208+ echo "PATH=${LLVM_PREFIX}/bin:${LLD_PREFIX}/bin:${PATH}" >> $GITHUB_ENV
209+
210+ brew install libomp
211+ echo "OpenMP_ROOT=$(brew --prefix libomp)" >> $GITHUB_ENV
212+
213+ brew install ispc
214+ brew install gsed
215+
183216 # ***********************************#
184217 # Build steps (one per platform...) #
185218 # ***********************************#
@@ -196,7 +229,6 @@ jobs:
196229 if : runner.os == 'macOS'
197230 shell : bash
198231 run : |
199- brew install ispc
200232 bash ${{ env.WORKSPACE }}/run-conan.sh
201233
202234 - name : Build (Linux)
@@ -402,10 +434,10 @@ jobs:
402434 path : conan-cache
403435 key : deps-${{ matrix.os }}-${{ github.run_id }}
404436
405- # # For debugging
406- # - name: Setup tmate session (debug)
407- # if: ${{ failure() }}
408- # uses: mxschmitt/action-tmate@v3
437+ # For debugging
438+ - name : Setup tmate session (debug)
439+ if : ${{ failure() }}
440+ uses : mxschmitt/action-tmate@v3
409441
410442 # Upload artifacts
411443 - uses : actions/upload-artifact@v4
0 commit comments