version: "{branch}-ci-{build}"

environment:
  matrix:
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      CMAKE_GENERATOR: "Visual Studio 14 2015"
      configuration: Debug
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      CMAKE_GENERATOR: "Visual Studio 14 2015"
      configuration: RelWithDebInfo
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
      configuration: Debug
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
      configuration: RelWithDebInfo

    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      CMAKE_GENERATOR: "Visual Studio 15 2017"
      configuration: Debug
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      CMAKE_GENERATOR: "Visual Studio 15 2017"
      configuration: RelWithDebInfo
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
      configuration: Debug
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
      configuration: RelWithDebInfo

matrix:
  fast_finish: false

build_script:
    - ps: cmake --version
    - ps: cmake -E make_directory "build-dir"
    - ps: cmake -E chdir "build-dir" cmake -G "$($(Get-Item Env:CMAKE_GENERATOR).Value)" --config $env:configuration -DCMAKE_INSTALL_PREFIX="$($(get-location).Path)/root" ..
    - ps: cmake --build "build-dir" --config $env:configuration
    - ps: cd "build-dir"; ctest -V -C $env:configuration --build-run-dir "build-dir"; cd ..
    - ps: cmake --build "build-dir" --target install --config $env:configuration
