# Windows Build Configuration for AppVeyor
# http://www.appveyor.com/docs/appveyor-yml
#

# This version starts a separte job for each platform config
# in order to get around the AppVeyor limit of 60 mins per job.

# build version format
version: "{build}"

# Free accounts have a max of 1, but ask anyway.
max_jobs: 4

os:
  - Visual Studio 2015

init:
  - git config --global core.autocrlf true

environment:
  PYTHON_PATH: "C:/Python35"
  PYTHON_PACKAGE_PATH: "C:/Python35/Scripts"
  CMAKE_URL: "http://cmake.org/files/v3.10/cmake-3.10.2-win64-x64.zip"

branches:
  only:
    - master

# Install desired CMake version 3.10.2 before any other building
install:
  - appveyor DownloadFile %CMAKE_URL% -FileName cmake.zip
  - 7z x cmake.zip -oC:\cmake > nul
  - set path=C:\cmake\bin;%path%
  - cmake --version

before_build:
  - "SET PATH=C:\\Python35;C:\\Python35\\Scripts;%PATH%"
  - echo Starting build for %APPVEYOR_REPO_NAME% in %APPVEYOR_BUILD_FOLDER%
  # Build dependencies
  - python %APPVEYOR_BUILD_FOLDER%/scripts/update_deps.py --arch=%PLATFORM% --config=%CONFIGURATION% --dir=%APPVEYOR_BUILD_FOLDER%/external
  # Verify consistency between source file generators and output
  - echo Verifying consistency between source file generators and output
  - python %APPVEYOR_BUILD_FOLDER%/scripts/generate_source.py --verify %APPVEYOR_BUILD_FOLDER%/external/Vulkan-Headers/registry
  # Generate build files using CMake for the build step.
  - echo Generating Vulkan-Tools CMake files for %PLATFORM% %CONFIGURATION%
  - cd %APPVEYOR_BUILD_FOLDER%
  - mkdir build
  - cd build
  - cmake -A %PLATFORM% -C %APPVEYOR_BUILD_FOLDER%/external/helper.cmake ..
  - echo Building platform=%PLATFORM% configuration=%CONFIGURATION%

platform:
  - Win32
  - x64

configuration:
  - Release
  - Debug

# Build only x64 Release and Win32(x86) Debug to reduce build time.
# This should still provide adequate 32-bit vs 64-bit and
# Release vs Debug coverage.
matrix:
  exclude:
    - configuration: Release
      platform: Win32
    - configuration: Debug
      platform: x64

build:
  parallel: true                  # enable MSBuild parallel builds
  project: build/Vulkan-Tools.sln # path to Visual Studio solution or project
  verbosity: quiet                # quiet|minimal|normal|detailed
