version: '2.4.{build}'

# branches to build
branches:
  # whitelist
  only:
    - master

image:
- Visual Studio 2017

environment: 
  matrix:
    # Win32/x64/Debug
    - platform: x64
      configuration: Debug
      cmake_args: -D CMAKE_INSTALL_PREFIX=install
      platform_name: Windows

    # Win32/x64/Release
    - platform: x64
      configuration: Release
      cmake_args: -D CMAKE_INSTALL_PREFIX=install
      platform_name: Windows

    # UWP/x64/Debug
    - platform: x64
      configuration: Debug
      cmake_args: -D CMAKE_INSTALL_PREFIX=install -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0
      platform_name: UWP

    # UWP/x64/Release
    - platform: x64
      configuration: Release
      cmake_args: -D CMAKE_INSTALL_PREFIX=install -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0
      platform_name: UWP

    # Win32/x86/Release
    - platform: Win32
      configuration: Release
      cmake_args: -D CMAKE_INSTALL_PREFIX=install
      platform_name: Windows

    # UWP/x86/Release
    - platform: Win32
      configuration: Release
      cmake_args: -D CMAKE_INSTALL_PREFIX=install -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0
      platform_name: UWP

    # Win32-8.1SDK/x64/Release
    - platform: x64
      configuration: Release
      cmake_args: -D CMAKE_INSTALL_PREFIX=install -D CMAKE_SYSTEM_VERSION=8.1
      platform_name: Windows8.1

# clone directory
clone_folder: c:\projects\DiligentCore

install:
  # clone submodules
  - git submodule update --init --recursive
  - BuildTools\Scripts\appveyor\install.bat

before_build:
  - cd c:\projects\DiligentCore\BuildTools\FormatValidation
  - validate_format_win.bat
  - cd c:\projects\DiligentCore
  - echo %PLATFORM%
  - echo.%cmake_args%
  - cmake %cmake_args% -S . -B ./build -D DILIGENT_BUILD_TESTS=TRUE -G "Visual Studio 15 2017" -A %PLATFORM%

build:
  project: c:\projects\DiligentCore\build\INSTALL.vcxproj
  verbosity: minimal
  parallel: true

test_script:
  - c:\projects\DiligentCore\BuildTools\Scripts\appveyor\run_tests.bat "C:\projects\DiligentCore\build"

after_test:
  - cd install
  - 7z a DiligentCore-"%platform_name%"-"%PLATFORM%"-"%CONFIGURATION%".zip
    .\*

artifacts:
  - path: install\*.zip
    name: artifacts-zip
