environment:
  APP_VERSION: '2.2'
  matrix:
    - PYTHON_VER: C:\Python27
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      SETUP_COMPILER_FLAG: --compiler=mingw32
      ARCH_BITS: 32
    - PYTHON_VER: C:\Python35
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      SETUP_COMPILER_FLAG:
      ARCH_BITS: 32
    - PYTHON_VER: C:\Python37
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      SETUP_COMPILER_FLAG:
      ARCH_BITS: 32
    - PYTHON_VER: C:\Python37-x64
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      SETUP_COMPILER_FLAG:
      ARCH_BITS: 64
    - PYTHON_VER: C:\Python39
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
      SETUP_COMPILER_FLAG:
      ARCH_BITS: 32
    - PYTHON_VER: C:\Python39-x64
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
      SETUP_COMPILER_FLAG:
      ARCH_BITS: 64


version: '$(APP_VERSION).{build}'

install:
  - set PATH=%PYTHON_VER%;%PYTHON_VER%\Scripts;%PATH%;C:\msys64\mingw%ARCH_BITS%\bin
  # We need wheel installed to build wheels
  - "%PYTHON_VER%\\python.exe -m pip install wheel"
  - echo %PATH%
  - cc -v

build_script:
  - cd miniupnpc
  - appveyor AddCompilationMessage "Building miniupnpc"
  - mingw32-make -f Makefile.mingw
  - appveyor AddCompilationMessage "Building python module"
  - mingw32-make -f Makefile.mingw pythonmodule PYTHON=%PYTHON_VER%\python

after_build:
  - 7z a -x!wingenminiupnpcstrings.exe ..\miniupnpc_%ARCH_BITS%b-%APPVEYOR_BUILD_VERSION%.zip *.exe *.dll *.a *.lib

artifacts:
  - path: miniupnpc*-$(appveyor_build_version).zip
    name: miniupnpc binaries
  - path: miniupnpc/dist/miniupnpc-*.whl
    name: miniupnpc python wheel (self-contained)
  - path: miniupnpc/dist/miniupnpc-*.egg
    name: miniupnpc python egg (self-contained)