@@ -291,15 +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
294+ export ARCHITECHURE =$(uname -m)
295295 if [[ "$ARCHITECHURE" == "arm64" ]]; then
296- echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
297- echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
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
298313 else
299314 echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
300315 echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
301316 fi
302317 fi
318+ echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
303319 env :
304320 compiler : ${{ matrix.compiler }}
305321
@@ -764,9 +780,25 @@ jobs:
764780 echo "CXX=g++-${vers}" >> $GITHUB_ENV
765781 else
766782 echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
783+ export ARCHITECHURE=$(uname -m)
767784 if [[ "$ARCHITECHURE" == "arm64" ]]; then
768- echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
769- echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
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
770802 else
771803 echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
772804 echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
0 commit comments