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

environment:
  PYTHON_PATH: "C:/Python35"
  PYTHON_PACKAGE_PATH: "C:/Python35/Scripts"

branches:
  only:
    - master

before_build:
  - "SET PATH=C:\\Python35;C:\\Python35\\Scripts;%PATH%"
  - echo.
  - echo Starting build for %APPVEYOR_REPO_NAME%
  # Install Vulkan-Headers
  - mkdir %TEMP%\headers
  - git clone https://github.com/KhronosGroup/Vulkan-Headers.git %TEMP%\headers\repo
  - ps: pushd $ENV:TEMP\headers\repo
  - mkdir build
  - cd build
  - cmake -DCMAKE_INSTALL_PREFIX=%TEMP%\headers\install ..
  - cmake --build . --target install
  - ps: popd
  # Get Google Test
  - git clone https://github.com/google/googletest.git external/googletest
  # Generate build files using CMake for the build step.
  - echo Generating CMake files for %PLATFORM%
  - mkdir build
  - cd build
  - cmake -A %PLATFORM% -DVULKAN_HEADERS_INSTALL_DIR=%TEMP%\headers\install ..
  - 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
