1*b7893ccfSSadaf Ebrahimi# Windows Build Configuration for AppVeyor 2*b7893ccfSSadaf Ebrahimi# http://www.appveyor.com/docs/appveyor-yml 3*b7893ccfSSadaf Ebrahimi# 4*b7893ccfSSadaf Ebrahimi 5*b7893ccfSSadaf Ebrahimi# This version starts a separte job for each platform config 6*b7893ccfSSadaf Ebrahimi# in order to get around the AppVeyor limit of 60 mins per job. 7*b7893ccfSSadaf Ebrahimi 8*b7893ccfSSadaf Ebrahimi# build version format 9*b7893ccfSSadaf Ebrahimiversion: "{build}" 10*b7893ccfSSadaf Ebrahimi 11*b7893ccfSSadaf Ebrahimi# Free accounts have a max of 1, but ask anyway. 12*b7893ccfSSadaf Ebrahimimax_jobs: 4 13*b7893ccfSSadaf Ebrahimi 14*b7893ccfSSadaf Ebrahimios: 15*b7893ccfSSadaf Ebrahimi - Visual Studio 2015 16*b7893ccfSSadaf Ebrahimi 17*b7893ccfSSadaf Ebrahimiinit: 18*b7893ccfSSadaf Ebrahimi - git config --global core.autocrlf true 19*b7893ccfSSadaf Ebrahimi 20*b7893ccfSSadaf Ebrahimienvironment: 21*b7893ccfSSadaf Ebrahimi PYTHON_PATH: "C:/Python35" 22*b7893ccfSSadaf Ebrahimi PYTHON_PACKAGE_PATH: "C:/Python35/Scripts" 23*b7893ccfSSadaf Ebrahimi CMAKE_URL: "http://cmake.org/files/v3.10/cmake-3.10.2-win64-x64.zip" 24*b7893ccfSSadaf Ebrahimi 25*b7893ccfSSadaf Ebrahimibranches: 26*b7893ccfSSadaf Ebrahimi only: 27*b7893ccfSSadaf Ebrahimi - master 28*b7893ccfSSadaf Ebrahimi 29*b7893ccfSSadaf Ebrahimiinstall: 30*b7893ccfSSadaf Ebrahimi - appveyor DownloadFile %CMAKE_URL% -FileName cmake.zip 31*b7893ccfSSadaf Ebrahimi - 7z x cmake.zip -oC:\cmake > nul 32*b7893ccfSSadaf Ebrahimi - set path=C:\cmake\bin;%path% 33*b7893ccfSSadaf Ebrahimi - cmake --version 34*b7893ccfSSadaf Ebrahimi 35*b7893ccfSSadaf Ebrahimibefore_build: 36*b7893ccfSSadaf Ebrahimi - "SET PATH=C:\\Python35;C:\\Python35\\Scripts;%PATH%" 37*b7893ccfSSadaf Ebrahimi - echo. 38*b7893ccfSSadaf Ebrahimi - echo Starting build for %APPVEYOR_REPO_NAME% in %APPVEYOR_BUILD_FOLDER% 39*b7893ccfSSadaf Ebrahimi # Generate build files using CMake for the build step. 40*b7893ccfSSadaf Ebrahimi - echo Fetching googletest external dependencies for building validation layer tests 41*b7893ccfSSadaf Ebrahimi - cd %APPVEYOR_BUILD_FOLDER% 42*b7893ccfSSadaf Ebrahimi - git clone https://github.com/google/googletest.git external/googletest 43*b7893ccfSSadaf Ebrahimi - cd %APPVEYOR_BUILD_FOLDER%/external/googletest 44*b7893ccfSSadaf Ebrahimi - git checkout tags/release-1.8.1 45*b7893ccfSSadaf Ebrahimi - cd %APPVEYOR_BUILD_FOLDER% 46*b7893ccfSSadaf Ebrahimi - python scripts/update_deps.py --dir=external --arch=%PLATFORM% --config=%CONFIGURATION% 47*b7893ccfSSadaf Ebrahimi - echo Verifying consistency between source file generators and output 48*b7893ccfSSadaf Ebrahimi - python scripts/generate_source.py --verify external/Vulkan-Headers/registry 49*b7893ccfSSadaf Ebrahimi - echo Generating Vulkan-ValidationLayers CMake files for %PLATFORM% %CONFIGURATION% 50*b7893ccfSSadaf Ebrahimi - mkdir build 51*b7893ccfSSadaf Ebrahimi - cd build 52*b7893ccfSSadaf Ebrahimi - cmake -A %PLATFORM% -C../external/helper.cmake --config %CONFIGURATION% .. 53*b7893ccfSSadaf Ebrahimi - echo Building platform=%PLATFORM% configuration=%CONFIGURATION% 54*b7893ccfSSadaf Ebrahimi 55*b7893ccfSSadaf Ebrahimiplatform: 56*b7893ccfSSadaf Ebrahimi - Win32 57*b7893ccfSSadaf Ebrahimi - x64 58*b7893ccfSSadaf Ebrahimi 59*b7893ccfSSadaf Ebrahimiconfiguration: 60*b7893ccfSSadaf Ebrahimi - Release 61*b7893ccfSSadaf Ebrahimi - Debug 62*b7893ccfSSadaf Ebrahimi 63*b7893ccfSSadaf Ebrahimi# Build only x64 Release and Win32(x86) Debug to reduce build time. 64*b7893ccfSSadaf Ebrahimi# This should still provide adequate 32-bit vs 64-bit and 65*b7893ccfSSadaf Ebrahimi# Release vs Debug coverage. 66*b7893ccfSSadaf Ebrahimimatrix: 67*b7893ccfSSadaf Ebrahimi exclude: 68*b7893ccfSSadaf Ebrahimi - configuration: Release 69*b7893ccfSSadaf Ebrahimi platform: Win32 70*b7893ccfSSadaf Ebrahimi - configuration: Debug 71*b7893ccfSSadaf Ebrahimi platform: x64 72*b7893ccfSSadaf Ebrahimi 73*b7893ccfSSadaf Ebrahimibuild: 74*b7893ccfSSadaf Ebrahimi parallel: true # enable MSBuild parallel builds 75*b7893ccfSSadaf Ebrahimi project: build/Vulkan-ValidationLayers.sln # path to Visual Studio solution or project 76*b7893ccfSSadaf Ebrahimi verbosity: quiet # quiet|minimal|normal|detailed 77*b7893ccfSSadaf Ebrahimi 78*b7893ccfSSadaf Ebrahimiartifacts: 79*b7893ccfSSadaf Ebrahimi - path: build\layers\$(configuration) 80*b7893ccfSSadaf Ebrahimi name: Vulkan-ValidationLayers-$(platform)-$(configuration) 81