@@ -33,26 +33,20 @@ jobs:
3333 with :
3434 submodules : recursive
3535
36- - name : (MacOs only) Install GNU GCC.
36+ - name : (MacOs only) Install build dependencies
3737 if : matrix.os == 'macos-latest'
3838 run : |
39- brew install gcc libomp
40-
41- - name : (MacOs only) Set CC/CXX environment variables to GNU GCC
42- if : matrix.os == 'macos-latest'
43- run : |
44-
45- # Check GCC installation path. Brew installs GCC in /opt/homebrew/bin on Apple Silicon and /usr/local/bin on Intel.
46- if [[ $(uname -m) = "arm64" ]]; then BREW_GCC_PATH="/opt/homebrew/bin"; else BREW_GCC_PATH="/usr/local/bin"; fi
47- echo "GCC installed at $BREW_GCC_PATH"
48-
49- # Set CC/CXX environment variables to GNU GCC
50- echo "CC=$BREW_GCC_PATH/$(ls $BREW_GCC_PATH | grep ^gcc-[0-9] | sort -V -r | head -n 1)" >> $GITHUB_ENV
51- echo "CXX=$BREW_GCC_PATH/$(ls $BREW_GCC_PATH | grep ^g++-[0-9] | sort -V -r | head -n 1)" >> $GITHUB_ENV
52- echo "CC=${{ env.CC }}"
53- echo "CXX=${{ env.CXX }}"
54-
55- # Set MACOSX_DEPLOYMENT_TARGET to avoid version mismatch warnings
39+ # Install Homebrew LLVM toolchain with OpenMP support
40+ brew install llvm libomp
41+ if [[ $(uname -m) == "arm64" ]]; then BREW_PREFIX="/opt/homebrew"; else BREW_PREFIX="/usr/local"; fi
42+ echo "PATH=$BREW_PREFIX/opt/llvm/bin:$PATH" >> $GITHUB_ENV
43+ echo "CC=$BREW_PREFIX/opt/llvm/bin/clang" >> $GITHUB_ENV
44+ echo "CXX=$BREW_PREFIX/opt/llvm/bin/clang++" >> $GITHUB_ENV
45+ echo "LDFLAGS=-L$BREW_PREFIX/opt/libomp/lib" >> $GITHUB_ENV
46+ echo "CPPFLAGS=-I$BREW_PREFIX/opt/libomp/include" >> $GITHUB_ENV
47+ # Build only for the host architecture to avoid missing x86_64 libraries
48+ echo "ARCHFLAGS=-arch $(uname -m)" >> $GITHUB_ENV
49+ echo "CMAKE_OSX_ARCHITECTURES=$(uname -m)" >> $GITHUB_ENV
5650 echo "MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion)" >> $GITHUB_ENV
5751 echo "MACOSX_DEPLOYMENT_TARGET=${{ env.MACOSX_DEPLOYMENT_TARGET }}"
5852
0 commit comments