version: '{build}'

configuration:
  - Debug
  - Release

environment:
  matrix:
    - compiler: msvc-12-seh
      generator: "Visual Studio 12 2013"

    - compiler: msvc-12-seh
      generator: "Visual Studio 12 2013 Win64"

    - compiler: msvc-14-seh
      generator: "Visual Studio 14 2015"

    - compiler: msvc-14-seh
      generator: "Visual Studio 14 2015 Win64"

    - compiler: gcc-5.3.0-posix
      generator: "MinGW Makefiles"
      cxx_path: 'C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin'

matrix:
  fast_finish: true

install:
  # git bash conflicts with MinGW makefiles
  - if "%generator%"=="MinGW Makefiles" (set "PATH=%PATH:C:\Program Files\Git\usr\bin;=%")
  - if not "%cxx_path%"=="" (set "PATH=%PATH%;%cxx_path%")

# TODO Remove this. This is a hack to work around bogus warning messages
# See http://goo.gl/euguBI for more information.
before_build:
  - del "C:\Program Files (x86)\MSBuild\14.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets"
  - del "C:\Program Files (x86)\MSBuild\12.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets"

build_script:
  - md _build -Force
  - cd _build
  - echo %configuration%
  - cmake -G "%generator%" "-DCMAKE_BUILD_TYPE=%configuration%" ..
  - cmake --build . --config %configuration%

test_script:
  - ctest -c %configuration% --timeout 300 --output-on-failure

artifacts:
  - path: '_build/CMakeFiles/*.log'
    name: logs
  - path: '_build/Testing/**/*.xml'
    name: test_results

