diff --git a/.github/workflows/mac_build.yml b/.github/workflows/mac_build.yml index db55e09..1e00533 100644 --- a/.github/workflows/mac_build.yml +++ b/.github/workflows/mac_build.yml @@ -13,10 +13,21 @@ jobs: matrix: config: [Release, Debug] standalone: [OFF, ON] + toolchain: [cmake/toolchain/macos-clang.cmake, cmake/toolchain/macos-clang-llvm.cmake, cmake/toolchain/macos-gnu.cmake] steps: - uses: actions/checkout@v4 - name: Install dependencies run: brew install cmake ninja xcodes + - name: Download llvm + if: ${{ matrix.toolchain == 'cmake/toolchain/macos-clang-llvm.cmake' }} + run: | + brew install llvm lld + echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH + - name: Download gnu + if: ${{ matrix.toolchain == 'cmake/toolchain/macos-gnu.cmake' }} + run: | + brew install gcc + echo "/opt/homebrew/opt/gcc/bin" >> $GITHUB_PATH - name: Build run: | cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DUSE_STANDALONE=${{ matrix.standalone }} diff --git a/.github/workflows/windows_build.yml b/.github/workflows/windows_build.yml index 4f1d506..5391d3a 100644 --- a/.github/workflows/windows_build.yml +++ b/.github/workflows/windows_build.yml @@ -36,22 +36,6 @@ jobs: run: | cmake -S . -B "build/${{ matrix.arch }}" -G "${{ matrix.generate }}" -DCMAKE_TOOLCHAIN_FILE="${{ matrix.toolchain }}" -DCMAKE_BUILD_TYPE:STRING=${{ matrix.config }} -DUSE_STANDALONE=${{ matrix.standalone }} cmake --build ./build/${{ matrix.arch }} - # - name: Setup Ninja - # if: ${{ matrix.generate == 'Ninja' }} - # uses: ilammy/msvc-dev-cmd@v1 - # with: - # arch: ${{ matrix.arch }} - # # only use default toolchain for Ninja - # - name: Build Ninja msvc - # if: ${{ matrix.generate == 'Ninja' && matrix.toolchain == 'torch/cmake/toolchain/windows-msvc.cmake' }} - # run: | - # cmake -S . -B "build/${{ matrix.arch }}" -G "${{ matrix.generate }}" -DCMAKE_BUILD_TYPE:STRING=${{ matrix.config }} -DUSE_STANDALONE=${{ matrix.standalone }} - # cmake --build ./build/${{ matrix.arch }} --config ${{ matrix.config }} --parallel 10 - # - name: Build Ninja clang-cl - # if: ${{ matrix.generate == 'Ninja' && matrix.toolchain == 'cmake/toolchain/windows-clang-cl.cmake' }} - # run: | - # cmake -S . -B "build/${{ matrix.arch }}" -G "${{ matrix.generate }}" -DCMAKE_BUILD_TYPE:STRING=${{ matrix.config }} -DCMAKE_CXX_COMPILER=clang-cl.exe -DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_LINKER=lld-link.exe -DUSE_STANDALONE=${{ matrix.standalone }} - # cmake --build ./build/${{ matrix.arch }} --config ${{ matrix.config }} --parallel 10 - name: Publish packaged artifacts if: ${{ matrix.config == 'Release' && matrix.generate == 'Visual Studio 17 2022' && matrix.standalone == 'ON' }} uses: actions/upload-artifact@v4 diff --git a/cmake/toolchain/macos-clang-llvm.cmake b/cmake/toolchain/macos-clang-llvm.cmake new file mode 100644 index 0000000..d12b5a4 --- /dev/null +++ b/cmake/toolchain/macos-clang-llvm.cmake @@ -0,0 +1,3 @@ +set(CMAKE_C_COMPILER /opt/homebrew/opt/llvm/bin/clang) +set(CMAKE_CXX_COMPILER /opt/homebrew/opt/llvm/bin/clang++) +set(CMAKE_LINKER /opt/homebrew/opt/lld/bin/lld-link) \ No newline at end of file diff --git a/cmake/toolchain/macos-clang.cmake b/cmake/toolchain/macos-clang.cmake new file mode 100644 index 0000000..e69de29 diff --git a/cmake/toolchain/macos-gnu.cmake b/cmake/toolchain/macos-gnu.cmake new file mode 100644 index 0000000..7a795e2 --- /dev/null +++ b/cmake/toolchain/macos-gnu.cmake @@ -0,0 +1,2 @@ +set(CMAKE_C_COMPILER /opt/homebrew/opt/gcc/bin/gcc) +set(CMAKE_CXX_COMPILER /opt/homebrew/opt/gcc/bin/g++) \ No newline at end of file