name: macOS

on: [push, pull_request]

jobs:
  build:
    name: ${{matrix.os}}-${{matrix.build_type}}-${{matrix.lib}}-${{matrix.target}}
    runs-on: ${{matrix.os}}
    defaults:
      run:
        shell: bash -e -o pipefail {0}
    env:
      CCACHE_DIR: ${{github.workspace}}/ccache
      CMAKE_GENERATOR: Ninja
    strategy:
      fail-fast: true
      matrix:
        os:
          - macos-12
          - macos-13
          - macos-14
        build_type:
          - Release
        lib:
          - shared
          - static
        target:
          - host
          - ios

    steps:
      - uses: actions/checkout@v4
        with:
          submodules: recursive

      - name: Setup Dependencies (iOS)
        if: matrix.target == 'ios'
        run: |
          brew install \
            ccache \
            eigen \
            ninja

      - name: Setup Dependencies (Host)
        if: matrix.target == 'host'
        run: |
          brew install \
            ccache \
            eigen \
            gflags \
            glog \
            google-benchmark \
            metis \
            ninja \
            suite-sparse

      - name: Cache Build
        id: cache-build
        uses: actions/cache@v4
        with:
          path: ${{env.CCACHE_DIR}}
          key: ${{matrix.os}}-ccache-${{matrix.build_type}}-${{matrix.lib}}-${{matrix.target}}-${{github.run_id}}
          restore-keys: ${{matrix.os}}-ccache-${{matrix.build_type}}-${{matrix.lib}}-${{matrix.target}}-

      - name: Setup Environment
        if: matrix.build_type == 'Release'
        run: |
          echo 'CXXFLAGS=-flto' >> $GITHUB_ENV

      - name: Configure (iOS)
        if: matrix.target == 'ios'
        run: |
          cmake -S . -B build_${{matrix.build_type}} \
                -DBUILD_SHARED_LIBS=${{matrix.lib == 'shared'}} \
                -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
                -DCMAKE_C_COMPILER_LAUNCHER=$(which ccache) \
                -DCMAKE_CXX_COMPILER_LAUNCHER=$(which ccache) \
                -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/cmake/iOS.cmake \
                -DEigen3_DIR=$(brew --prefix)/share/eigen3/cmake \
                -DIOS_PLATFORM=OS \
                -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install

      - name: Configure (Host)
        if: matrix.target == 'host'
        run: |
          cmake -S . -B build_${{matrix.build_type}} \
                -DBUILD_SHARED_LIBS=${{matrix.lib == 'shared'}} \
                -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
                -DCMAKE_C_COMPILER_LAUNCHER=$(which ccache) \
                -DCMAKE_CXX_COMPILER_LAUNCHER=$(which ccache) \
                -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install

      - name: Build
        run: |
          cmake --build build_${{matrix.build_type}} \
                --config ${{matrix.build_type}}

      - name: Test
        if: matrix.target == 'host'
        run: |
          ctest --test-dir build_${{matrix.build_type}} \
                --config ${{matrix.build_type}} \
                --output-on-failure \
                -j$(sysctl -n hw.ncpu)

      - name: Install
        run: |
          cmake --build build_${{matrix.build_type}}/ \
                --config ${{matrix.build_type}} \
                --target install
