name: CMake Build (Windows x86-64)

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

env:
  BUILD_TYPE: Release

jobs:
  build:

    runs-on: windows-latest
    
    defaults:
      run:
        shell: msys2 {0}
    steps:
    - uses: actions/checkout@v1
    - uses: msys2/setup-msys2@v2
      with:
          msystem: MINGW64
          update: true

    - name: Install dependencies
      run: pacman -Sq --noconfirm git make mingw-w64-x86_64-{cmake,mesa,SDL2,qt5-static,libslirp,libarchive,libepoxy,toolchain}
  
    - name: Create build environment
      working-directory: ${{runner.workspace}}
      run: mkdir build

    - name: Configure
      working-directory: ${{runner.workspace}}/build
      run: cmake $GITHUB_WORKSPACE -G 'MSYS Makefiles' -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_STATIC=ON -DQT5_STATIC_DIR=C:/tools/msys64/mingw64/qt5-static

    - name: Make
      working-directory: ${{runner.workspace}}/build
      run: make -j$(nproc --all)

    - uses: actions/upload-artifact@v1
      with:
        name: melonDS-windows-x86_64
        path: ${{runner.workspace}}\build\melonDS.exe
