
name: CI MacOS

on:
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ${{matrix.os}}
    
    strategy:
      matrix:
        os: [macos-14, macos-15]
        compiler: [clang++]
        cpp_standard: [11, 14, 17, 20, 23]
        build_type: [Debug, Release]

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

    - name: Install libraries
      run: |
        brew install clang-format molten-vk

    - name: Install Ninja
      uses: ashutoshvarma/setup-ninja@master
      with:
        version: 1.11.0
      
    - name: Build
      run: |
        cmake -B build/${{matrix.cpp_standard}}/${{matrix.build_type}} -GNinja \
          -DVULKAN_HPP_SAMPLES_BUILD=ON                                        \
          -DVULKAN_HPP_TESTS_BUILD=ON                                          \
          -DVULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON                          \
          -DVULKAN_HPP_PRECOMPILE=OFF                                          \
          -DVULKAN_HPP_RUN_GENERATOR=ON                                        \
          -DCMAKE_CXX_COMPILER=${{matrix.compiler}}                            \
          -DCMAKE_CXX_STANDARD=${{matrix.cpp_standard}}                        \
          -DCMAKE_BUILD_TYPE=${{matrix.build_type}}
        cmake --build build/${{matrix.cpp_standard}}/${{matrix.build_type}} --parallel
