# 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:
  - 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.
  - echo Starting build for %APPVEYOR_REPO_NAME% in %APPVEYOR_BUILD_FOLDER%
  # Generate build files using CMake for the build step.
  - echo Fetching googletest external dependencies for building validation layer tests
  - cd %APPVEYOR_BUILD_FOLDER%
  - git clone https://github.com/google/googletest.git external/googletest
  - cd %APPVEYOR_BUILD_FOLDER%/external/googletest
  - git checkout tags/release-1.8.1
  - cd %APPVEYOR_BUILD_FOLDER%
  - python scripts/update_deps.py --dir=external --arch=%PLATFORM% --config=%CONFIGURATION%
  - echo Verifying consistency between source file generators and output
  - python scripts/generate_source.py --verify external/Vulkan-Headers/registry
  - echo Generating Vulkan-ValidationLayers CMake files for %PLATFORM% %CONFIGURATION%
  - mkdir build
  - cd build
  - cmake -A %PLATFORM% -C../external/helper.cmake --config %CONFIGURATION% ..
  - echo Building platform=%PLATFORM% configuration=%CONFIGURATION%
  - mkdir layers\%CONFIGURATION%
  - python ../scripts/vk_validation_stats.py ../external/Vulkan-Headers/registry/validusage.json -text layers/%CONFIGURATION%/vuid_coverage_database.txt

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-ValidationLayers.sln  # path to Visual Studio solution or project
  verbosity: quiet                            # quiet|minimal|normal|detailed

artifacts:
  - path: build\layers\$(configuration)
    name: Vulkan-ValidationLayers-$(platform)-$(configuration)
