name: libvpx

inputs:
  refId:
    type: string
    required: true
  config:
    type: string
    required: true

runs:
  using: "composite"
  steps:
  - name: Set up GIT
    shell: cmd
    run: |
      git config --global core.autocrlf false
      git config --global core.eol lf
      git clone --depth 1 -b ${{ inputs.refId }} https://github.com/webmproject/libvpx.git vpx
  - name: Set up MSYS2
    uses: msys2/setup-msys2@v2
    with:
      install: base-devel binutils autotools automake mingw-w64-x86_64-cmake nasm
      path-type: inherit
  - name: Build LibVpx
    shell: cmd
    env:
      vsPath: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\
      cFlags: ${{ inputs.config == 'release' && '-MD' || '-MDd' }}
    run: |
      call "${{ env.vsPath }}VC\Auxiliary\Build\vcvars64.bat"
      md build build\include build\lib build\lib\pkgconfig dist
      D:\a\_temp\setup-msys2\msys2.cmd -c 'cd vpx ; ./configure --prefix=../build --target=x86_64-win64-vs17 --enable-vp9-highbitdepth --disable-shared --disable-examples --disable-tools --disable-docs --disable-libyuv --disable-unit_tests --disable-postproc ; make -j ; make install ; mv ../build/lib/x64/vpxmd.lib ../build/lib/vpx.lib ; rm -rf ../build/lib/x64 ; cd ../build ; tar czf ../dist/libvpx.tgz *'
  - name: Publish artifact
    uses: actions/upload-artifact@v2
    with:
      name: libvpx-${{ runner.os }}-${{ inputs.config }}
      path: dist/libvpx.tgz
