version: '{build}'

os: Visual Studio 2015

environment:
  matrix:
    - arch: x86
      compiler: msys2-mingw
      backend: ninja

    - arch: x64
      compiler: msys2-mingw
      backend: ninja

    - arch: x64
      compiler: cygwin
      backend: ninja

    - arch: x86
      compiler: msvc2010
      backend: ninja

    - arch: x86
      compiler: msvc2010
      backend: vs2010

    - arch: x86
      compiler: msvc2015
      backend: ninja
      BOOST_ROOT: C:\Libraries\Boost_1_59_0

    - arch: x86
      compiler: msvc2015
      backend: vs2015
      BOOST_ROOT: C:\Libraries\Boost_1_59_0

    - arch: x64
      compiler: msvc2017
      backend: ninja
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      BOOST_ROOT: C:\Libraries\Boost_1_64_0

    - arch: x64
      compiler: msvc2017
      backend: vs2017
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      BOOST_ROOT: C:\Libraries\Boost_1_64_0

platform:
  - x64

branches:
  only:
    - master
    # Release branches
    - /^[0-9]+\.[0-9]+$/

init:
  - ps: |
        If($Env:compiler -like 'msvc2010') {
          Set-WinSystemLocale de-DE
          Start-Sleep -s 5
          Restart-Computer
        }

install:
  - cmd: set "ORIG_PATH=%PATH%"
  # Use a Ninja with QuLogic's patch: https://github.com/ninja-build/ninja/issues/1219
  - cmd: set "MESON_FIXED_NINJA=1"
  - ps: (new-object net.webclient).DownloadFile('http://nirbheek.in/files/binaries/ninja/win32/ninja.exe', 'C:\projects\meson\ninja.exe')
  # Use the x86 python only when building for x86 for the cpython tests.
  # For all other archs (including, say, arm), use the x64 python.
  - cmd: if %arch%==x86 (set MESON_PYTHON_PATH=C:\python35) else (set MESON_PYTHON_PATH=C:\python35-x64)

  # Set paths for BOOST dll files
  - cmd: if %compiler%==msvc2015 ( if %arch%==x86 ( set "PATH=%PATH%;C:\Libraries\boost_1_59_0\lib32-msvc-14.0" ) else ( set "PATH=%PATH%;C:\Libraries\boost_1_59_0\lib64-msvc-14.0" ) )
  - cmd: if %compiler%==msvc2017 ( if %arch%==x86 ( set "PATH=%PATH%;C:\Libraries\boost_1_64_0\lib32-msvc-14.1" ) else ( set "PATH=%PATH%;C:\Libraries\boost_1_64_0\lib64-msvc-14.1" ) )

  # Set paths and config for each build type.
  - cmd: if %compiler%==msvc2010 ( call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" %arch% )
  - cmd: if %compiler%==msvc2015 ( call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %arch% )
  - cmd: if %compiler%==msvc2017 ( call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=%arch% )
  - cmd: if %compiler%==cygwin ( set PYTHON=python3 ) else ( set PYTHON=python )
  # MinGW setup, lines are split to prevent "The input line is too long." error.
  - cmd: if %arch%==x86 ( set "PACMAN_ARCH=i686" ) else ( set "PACMAN_ARCH=x86_64" )
  - cmd: if %arch%==x86 ( set "PACMAN_BITS=32" ) else ( set "PACMAN_BITS=64" )
  - cmd: if %compiler%==msys2-mingw ( set "PATH=C:\msys64\mingw%PACMAN_BITS%\bin;%PATH%" )
  - cmd: if %compiler%==msys2-mingw ( set "MESON_PYTHON_PATH=C:\msys64\mingw%PACMAN_BITS%\bin" )
  - cmd: if %compiler%==msys2-mingw ( set "PYTHON=python3" )
  - cmd: if %compiler%==msys2-mingw ( C:\msys64\usr\bin\pacman -S --needed --noconfirm "mingw%PACMAN_BITS%/mingw-w64-%PACMAN_ARCH%-python3" )
  # Cygwin
  - cmd: if not %compiler%==cygwin ( set "PATH=%cd%;%MESON_PYTHON_PATH%;%PATH%;" )
  - cmd: if %compiler%==cygwin ( set WRAPPER=ci\run-in-cygwin.bat )
  - cmd: if %compiler%==cygwin ( %WRAPPER% which %PYTHON% ) else ( where %PYTHON% )

  # pkg-config is needed for the pkg-config tests on msvc
  - ps: If($Env:compiler.StartsWith('msvc')) {(new-object net.webclient).DownloadFile('http://nirbheek.in/files/binaries/pkg-config/win32/pkg-config.exe', 'C:\projects\meson\pkg-config.exe')}
  - cmd: if %compiler%==cygwin ( call ci\appveyor-install.bat )
  - ps: |
        If($Env:compiler -like 'msvc*') {
          (new-object net.webclient).DownloadFile(
            "https://download.microsoft.com/download/D/B/B/DBB64BA1-7B51-43DB-8BF1-D1FB45EACF7A/msmpisdk.msi",
            "C:\projects\msmpisdk.msi")
          c:\windows\system32\msiexec.exe /i C:\projects\msmpisdk.msi /quiet
          (new-object net.webclient).DownloadFile(
            "https://download.microsoft.com/download/D/B/B/DBB64BA1-7B51-43DB-8BF1-D1FB45EACF7A/MSMpiSetup.exe",
            "C:\projects\MSMpiSetup.exe")
          c:\projects\MSMpiSetup.exe -unattend -full
        }

build_script:
  - cmd: echo No build step.
  - cmd: if %backend%==ninja ( %WRAPPER% ninja.exe --version ) else ( MSBuild /version & echo. )

test_script:
  - cmd: echo Running tests for %arch% and %compiler% with the %backend% backend
  - cmd: "%WRAPPER% %PYTHON% run_tests.py --backend=%backend%"

on_finish:
  - set "PATH=%ORIG_PATH%"
  - appveyor PushArtifact meson-test-run.txt -DeploymentName "Text test logs"
  - appveyor PushArtifact meson-test-run.xml -DeploymentName "XML test logs"

cache:
  - C:\cache
