# 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 2017

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:
  - 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%"
  # vcvars32.bat will override the platform ennvar, so we need to reset it or else appveyor dies
  - "SET APPVEYOR_PLATFORM=%PLATFORM%"
  - if %APPVEYOR_PLATFORM% == x64 (call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat")
  - if %APPVEYOR_PLATFORM% == Win32 (call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat")
  - "SET PLATFORM=%APPVEYOR_PLATFORM%"
  - echo.
  - echo Starting build for %APPVEYOR_REPO_NAME%
  # Install dependencies
  - python scripts/update_deps.py --dir=external
  # Get Google Test
  - git clone https://github.com/google/googletest.git external/googletest
  - cd external/googletest
  - git checkout tags/release-1.8.1
  - cd %APPVEYOR_BUILD_FOLDER%
  # Verify consistency between source file generators and output
  - echo Verifying consistency between source file generators and output
  - python scripts/generate_source.py --verify external/Vulkan-Headers/registry
  # Generate build files using CMake for the build step.
  - echo Generating CMake files for %PLATFORM%
  - mkdir build
  - cd build
  - cmake -A %PLATFORM% -C../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-Loader.sln # path to Visual Studio solution or project
  verbosity: quiet                 # quiet|minimal|normal|detailed
