@@ -86,40 +86,40 @@ jobs:
8686 cppyy : Off
8787 llvm_enable_projects : " clang"
8888 llvm_targets_to_build : " host;NVPTX"
89- - name : osx14 -arm-clang-clang-repl-19
90- os : macos-14
89+ - name : osx15 -arm-clang-clang-repl-19
90+ os : macos-15
9191 compiler : clang
9292 clang-runtime : ' 19'
9393 cling : Off
9494 cppyy : On
9595 llvm_enable_projects : " clang;lld"
9696 llvm_targets_to_build : " WebAssembly;host;NVPTX"
97- - name : osx14 -arm-clang-clang-repl-18
98- os : macos-14
97+ - name : osx15 -arm-clang-clang-repl-18
98+ os : macos-15
9999 compiler : clang
100100 clang-runtime : ' 18'
101101 cling : Off
102102 cppyy : On
103103 llvm_enable_projects : " clang"
104104 llvm_targets_to_build : " host;NVPTX"
105- - name : osx14 -arm-clang-clang-repl-17
106- os : macos-14
105+ - name : osx15 -arm-clang-clang-repl-17
106+ os : macos-15
107107 compiler : clang
108108 clang-runtime : ' 17'
109109 cling : Off
110110 cppyy : On
111111 llvm_enable_projects : " clang"
112112 llvm_targets_to_build : " host;NVPTX"
113- - name : osx14 -arm-clang-clang-repl-16
114- os : macos-14
113+ - name : osx15 -arm-clang-clang-repl-16
114+ os : macos-15
115115 compiler : clang
116116 clang-runtime : ' 16'
117117 cling : Off
118118 cppyy : On
119119 llvm_enable_projects : " clang"
120120 llvm_targets_to_build : " host;NVPTX"
121- - name : osx14 -arm-clang-clang13-cling
122- os : macos-14
121+ - name : osx15 -arm-clang-clang13-cling
122+ os : macos-15
123123 compiler : clang
124124 clang-runtime : ' 13'
125125 cling : On
@@ -291,13 +291,31 @@ jobs:
291291 echo "CC=gcc-${vers}" >> $GITHUB_ENV
292292 echo "CXX=g++-${vers}" >> $GITHUB_ENV
293293 else
294- echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
295- #Use clang-15 and clang++-15 compiler that is installed on runner, instead of one
296- #provided by MacOS (could brew install clang-16/17 to use consistent version
297- #of clang)
298- echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
299- echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
294+ export ARCHITECHURE=$(uname -m)
295+ if [[ "$ARCHITECHURE" == "arm64" ]]; then
296+ cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
297+ if [[ "${cling_on}" == "ON" ]]; then
298+ brew install llvm@15
299+ brew remove llvm@18
300+ brew cleanup
301+ #FIXME: Do not believe setting all these environment variables are necessary
302+ # They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests
303+ echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV
304+ echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV
305+ echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV
306+ echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV
307+ echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
308+ echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
309+ else
310+ echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
311+ echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
312+ fi
313+ else
314+ echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
315+ echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
316+ fi
300317 fi
318+ echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
301319 env :
302320 compiler : ${{ matrix.compiler }}
303321
@@ -345,10 +363,11 @@ jobs:
345363 if : ${{ runner.os == 'macOS' && steps.cache.outputs.cache-hit != 'true' }}
346364 run : |
347365 brew update
348- 349366 export ARCHITECHURE=$(uname -m)
350367 if [[ "$ARCHITECHURE" != "x86_64" ]]; then
351368 brew remove unxip
369+ else
370+ 352371 fi
353372 # workaround for https://github.com/actions/setup-python/issues/577
354373 for pkg in $(brew list | grep '^python@'); do
@@ -585,32 +604,32 @@ jobs:
585604 # clang-runtime: '17'
586605 # cling: Off
587606 # cppyy: On
588- - name : osx14 -arm-clang-clang-repl-19-cppyy
589- os : macos-14
607+ - name : osx15 -arm-clang-clang-repl-19-cppyy
608+ os : macos-15
590609 compiler : clang
591610 clang-runtime : ' 19'
592611 cling : Off
593612 cppyy : On
594- - name : osx14 -arm-clang-clang-repl-18-cppyy
595- os : macos-14
613+ - name : osx15 -arm-clang-clang-repl-18-cppyy
614+ os : macos-15
596615 compiler : clang
597616 clang-runtime : ' 18'
598617 cling : Off
599618 cppyy : On
600- - name : osx14 -arm-clang-clang-repl-17-cppyy
601- os : macos-14
619+ - name : osx15 -arm-clang-clang-repl-17-cppyy
620+ os : macos-15
602621 compiler : clang
603622 clang-runtime : ' 17'
604623 cling : Off
605624 cppyy : On
606- - name : osx14 -arm-clang-clang-repl-16
607- os : macos-14
625+ - name : osx15 -arm-clang-clang-repl-16
626+ os : macos-15
608627 compiler : clang
609628 clang-runtime : ' 16'
610629 cling : Off
611630 cppyy : Off
612- - name : osx14 -arm-clang-clang13-cling-cppyy
613- os : macos-14
631+ - name : osx15 -arm-clang-clang13-cling-cppyy
632+ os : macos-15
614633 compiler : clang
615634 clang-runtime : ' 13'
616635 cling : On
@@ -761,11 +780,29 @@ jobs:
761780 echo "CXX=g++-${vers}" >> $GITHUB_ENV
762781 else
763782 echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
764- #Use clang-15 and clang++-15 compiler that is installed on runner, instead of one
765- #provided by MacOS (could brew install clang-16/17 to use consistent version
766- #of clang)
767- echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
768- echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
783+ export ARCHITECHURE=$(uname -m)
784+ if [[ "$ARCHITECHURE" == "arm64" ]]; then
785+ cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
786+ if [[ "${cling_on}" == "ON" ]]; then
787+ brew install llvm@15
788+ brew remove llvm@18
789+ brew cleanup
790+ #FIXME: Do not believe setting all these environment variables are necessary
791+ # They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests
792+ echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV
793+ echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV
794+ echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV
795+ echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV
796+ echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
797+ echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
798+ else
799+ echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
800+ echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
801+ fi
802+ else
803+ echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
804+ echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
805+ fi
769806 fi
770807 env :
771808 compiler : ${{ matrix.compiler }}
@@ -813,9 +850,9 @@ jobs:
813850 if : runner.os == 'macOS'
814851 run : |
815852 brew update --force
816- 817853 export ARCHITECHURE=$(uname -m)
818854 if [[ "$ARCHITECHURE" == "x86_64" ]]; then
855+ 819856 brew remove swiftlint
820857 else
821858 brew remove unxip
@@ -897,6 +934,7 @@ jobs:
897934 docs_on=$(echo "${{ matrix.documentation }}" | tr '[:lower:]' '[:upper:]')
898935 if [[ "${docs_on}" == "ON" ]]; then
899936 cmake --build . --target doxygen-cppinterop --parallel ${{ env.ncpus }}
937+ cmake --build . --target sphinx-cppinterop --parallel ${{ env.ncpus }}
900938 else
901939 cmake --build . --target check-cppinterop --parallel ${{ env.ncpus }}
902940 if [[ ("${os}" == "ubuntu"*) ]]; then
@@ -1145,18 +1183,21 @@ jobs:
11451183 clang-runtime : ' 19'
11461184 cling : Off
11471185 micromamba_shell_init : bash
1148- - name : osx14-arm-clang-clang-repl-19-emscripten_wasm
1149- os : macos-14
1186+ emsdk_ver : " 3.1.45"
1187+ - name : osx15-arm-clang-clang-repl-19-emscripten_wasm
1188+ os : macos-15
11501189 compiler : clang
11511190 clang-runtime : ' 19'
11521191 cling : Off
11531192 micromamba_shell_init : bash
1193+ emsdk_ver : " 3.1.45"
11541194 - name : osx13-x86-clang-clang-repl-19-emscripten_wasm
11551195 os : macos-13
11561196 compiler : clang
11571197 clang-runtime : ' 19'
11581198 cling : Off
11591199 micromamba_shell_init : bash
1200+ emsdk_ver : " 3.1.45"
11601201
11611202 steps :
11621203 - uses : actions/checkout@v4
@@ -1212,7 +1253,9 @@ jobs:
12121253 - name : Setup emsdk
12131254 shell : bash -l {0}
12141255 run : |
1215- emsdk install 3.1.45
1256+ git clone https://github.com/emscripten-core/emsdk.git
1257+ cd emsdk
1258+ ./emsdk install ${{ matrix.emsdk_ver }}
12161259
12171260 - name : Restore Cache LLVM/Clang runtime build directory
12181261 uses : actions/cache/restore@v4
@@ -1227,11 +1270,10 @@ jobs:
12271270 if : ${{ runner.os != 'windows' }}
12281271 shell : bash -l {0}
12291272 run : |
1230- emsdk activate 3.1.45
1231- source $CONDA_EMSDK_DIR /emsdk_env.sh
1273+ ./ emsdk/emsdk activate ${{matrix.emsdk_ver}}
1274+ source ./emsdk /emsdk_env.sh
12321275 micromamba create -f environment-wasm.yml --platform=emscripten-wasm32
12331276
1234- export EMPACK_PREFIX=$MAMBA_ROOT_PREFIX/envs/CppInterOp-wasm-build
12351277 export PREFIX=$MAMBA_ROOT_PREFIX/envs/CppInterOp-wasm
12361278 export CMAKE_PREFIX_PATH=$PREFIX
12371279 export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX
@@ -1296,14 +1338,13 @@ jobs:
12961338 - name : Build xeus-cpp
12971339 shell : bash -l {0}
12981340 run : |
1299- emsdk activate 3.1.45
1300- source $CONDA_EMSDK_DIR /emsdk_env.sh
1341+ ./ emsdk/emsdk activate ${{matrix.emsdk_ver}}
1342+ source ./emsdk /emsdk_env.sh
13011343 micromamba activate CppInterOp-wasm
13021344 git clone https://github.com/compiler-research/xeus-cpp.git
13031345 cd ./xeus-cpp
13041346 mkdir build
13051347 pushd build
1306- export EMPACK_PREFIX=$MAMBA_ROOT_PREFIX/envs/CppInterOp-wasm-build
13071348 export CMAKE_PREFIX_PATH=${{ env.PREFIX }}
13081349 export CMAKE_SYSTEM_PREFIX_PATH=${{ env.PREFIX }}
13091350 emcmake cmake \
0 commit comments