vvdec-sys 0.7.0

Rust unsafe bindings for VVdeC
Documentation
name: CI build

on:
  push:
  pull_request:
  release:
    types:
      - created

jobs:
  build:
    name: ${{ matrix.config.name }}
    runs-on: ${{ matrix.config.os }}
    strategy:
      fail-fast: false
      matrix:
        config:
          - {
              name: "Windows MSVC 64 Bit",
              os: windows-2022,
              environment_script: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat",
              generators: "Visual Studio 17 2022",
              msvc_arch: x64
            }
          - {
              name: "Windows MSVC 32 Bit",
              os: windows-2019,
              environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars32.bat",
              generators: "Visual Studio 16 2019",
              msvc_arch: Win32
            }
          - {
              name: "Windows MinGW",
              os: windows-2022,
              cc: "gcc",
              cxx: "g++",
              generators: "MinGW Makefiles"
            }
          - {
              name: "Ubuntu 20.04",
              os: ubuntu-20.04
            }
          - {
              name: "Ubuntu 22.04",
              os: ubuntu-22.04
            }
          - {
              name: "Ubuntu 24.04",
              os: ubuntu-24.04
            }
          - {
              name: "Mac OS Latest x86_64",
              os: macos-latest,
              osx_arch: x86_64
            }
          - {
              name: "Mac OS Latest arm64",
              os: macos-latest,
              osx_arch: arm64
            }
    env:
      CMAKE_GENERATOR: "${{ matrix.config.generators }}"
    steps:
    - uses: actions/checkout@v4
    - run: git fetch --prune --unshallow

    - name: Ubuntu/Mac/MinGW build
      if: ${{ !contains( matrix.config.generators, 'Visual Studio' ) }}
      run: |
        mkdir build
        cd build
        cmake .. -DCMAKE_BUILD_TYPE=Release "-DCMAKE_OSX_ARCHITECTURES=${{ matrix.config.osx_arch }}"
        cmake --build .

    - name: MSVC build
      if: contains( matrix.config.generators, 'Visual Studio' )
      run: |
        mkdir build
        cd build
        cmake ..  -DCMAKE_BUILD_TYPE=Release -A "${{ matrix.config.msvc_arch }}"
        cmake --build . --config Release
      shell: cmd