# ref: https://github.com/actions/runner-images
name: amd64 macOS Java

on: [push, pull_request, workflow_dispatch]

jobs:
  # Building using the github runner environement directly.
  macos:
    runs-on: macos-latest
    strategy:
       matrix:
         build: [
           ["Xcode", "Release", "ALL_BUILD", "RUN_TESTS", "install"],
           ["Unix Makefiles", "Release", "all", "test", "install"]
         ]
       fail-fast: false
    env:
      GENERATOR: ${{ matrix.build[0] }}
      BUILD_TYPE: ${{ matrix.build[1] }}
      BUILD_TARGET: ${{ matrix.build[2] }}
      TEST_TARGET: ${{ matrix.build[3] }}
      INSTALL_TARGET: ${{ matrix.build[4] }}
    steps:
    - uses: actions/checkout@v4
    - name: Swig install
      run: brew install swig
    - name: Check swig
      run: swig -version
    - name: Check mvn
      run: mvn --version
    - name: Check cmake
      run: cmake --version
    - name: Configure
      run: cmake -S. -Bbuild -G "$GENERATOR" -DCMAKE_BUILD_TYPE="$BUILD_TYPE" -DCMAKE_INSTALL_PREFIX=install -DBUILD_JAVA=ON -DSKIP_GPG=ON
    - name: Build
      run: cmake --build build --config "$BUILD_TYPE" --target "$BUILD_TARGET" -v
    - name: Test
      run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config "$BUILD_TYPE" --target "$TEST_TARGET" -v
    - name: Install
      run: cmake --build build --config "$BUILD_TYPE" --target "$INSTALL_TARGET" -v