blob: 8ad36bd8ee10faf5afff3892e0b58e345068b4a6 [file] [log] [blame]
Karl Schultz6ba2be12016-12-30 10:16:33 -07001# Windows Build Configuration for AppVeyor
2# http://www.appveyor.com/docs/appveyor-yml
Karl Schultz129a74b2017-09-04 08:16:23 -06003#
Karl Schultz6ba2be12016-12-30 10:16:33 -07004
Karl Schultz237b53a2017-12-02 14:17:12 -07005# This version starts a separte job for each platform config
6# in order to get around the AppVeyor limit of 60 mins per job.
7
Karl Schultz6ba2be12016-12-30 10:16:33 -07008# build version format
9version: "{build}"
10
Karl Schultz0e417132018-01-03 12:50:46 -070011# Free accounts have a max of 1, but ask anyway.
Karl Schultz237b53a2017-12-02 14:17:12 -070012max_jobs: 4
13
Karl Schultz615b7f72017-02-22 13:41:55 -070014os:
Mike Schuchardt166f5e92018-01-03 10:48:34 -070015 - Visual Studio 2013
Karl Schultz6ba2be12016-12-30 10:16:33 -070016
17environment:
18 PYTHON_PATH: "C:/Python35"
19 PYTHON_PACKAGE_PATH: "C:/Python35/Scripts"
20
Karl Schultzacfb3802017-05-26 16:57:28 -060021# Cache the external directory to improve build times.
22# If the appveyor config file changes, invalidate the cache.
23cache:
24 - external -> .appveyor.yml
25
Karl Schultz6ba2be12016-12-30 10:16:33 -070026branches:
27 only:
28 - master
29
Karl Schultz237b53a2017-12-02 14:17:12 -070030before_build:
Karl Schultz6ba2be12016-12-30 10:16:33 -070031 - "SET PATH=C:\\Python35;C:\\Python35\\Scripts;%PATH%"
Karl Schultz237b53a2017-12-02 14:17:12 -070032 - echo.
Karl Schultz59b5b812018-05-12 14:24:42 -060033 - echo Starting build for %APPVEYOR_REPO_NAME% in %APPVEYOR_BUILD_FOLDER%
Karl Schultz60db9ac2018-05-12 07:08:03 -060034 - git submodule update --init --recursive
Karl Schultz0e417132018-01-03 12:50:46 -070035 # Determine the appropriate CMake generator for the current version of Visual Studio
36 - echo Determining VS version
37 - python .\scripts\determine_vs_version.py > vsversion.tmp
38 - set /p VS_VERSION=< vsversion.tmp
39 - echo Detected Visual Studio Version as %VS_VERSION%
40 - del /Q /F vsversion.tmp
41 - if %PLATFORM% == Win32 (set GENERATOR="Visual Studio %VS_VERSION%")
42 - if %PLATFORM% == x64 (set GENERATOR="Visual Studio %VS_VERSION% Win64")
Karl Schultz59b5b812018-05-12 14:24:42 -060043 - if %PLATFORM% == Win32 (set BUILD_DIR="build32")
44 - if %PLATFORM% == x64 (set BUILD_DIR="build")
Karl Schultz60db9ac2018-05-12 07:08:03 -060045 # Build Vulkan-Loader
46 - echo Building Vulkan-Loader for %PLATFORM% %CONFIGURATION%
Karl Schultz59b5b812018-05-12 14:24:42 -060047 - cd %APPVEYOR_BUILD_FOLDER%
Karl Schultz60db9ac2018-05-12 07:08:03 -060048 - git clone --recurse-submodules https://github.com/KhronosGroup/Vulkan-Loader.git
49 - cd Vulkan-Loader
Karl Schultz59b5b812018-05-12 14:24:42 -060050 - mkdir %BUILD_DIR%
51 - cd %BUILD_DIR%
Karl Schultz237b53a2017-12-02 14:17:12 -070052 - cmake -G %GENERATOR% ..
Karl Schultz59b5b812018-05-12 14:24:42 -060053 - cmake --build . --config %CONFIGURATION% -- /maxcpucount
Karl Schultz60db9ac2018-05-12 07:08:03 -060054 # Build glslang
55 - echo Building glslang for %PLATFORM% %CONFIGURATION%
Karl Schultz59b5b812018-05-12 14:24:42 -060056 - cd %APPVEYOR_BUILD_FOLDER%
Karl Schultz60db9ac2018-05-12 07:08:03 -060057 - git clone https://github.com/KhronosGroup/glslang.git
58 - cd glslang
Karl Schultz45b7c1e2018-05-12 10:22:26 -060059 - update_glslang_sources.py
Karl Schultz59b5b812018-05-12 14:24:42 -060060 - mkdir %BUILD_DIR%
61 - cd %BUILD_DIR%
Karl Schultz60db9ac2018-05-12 07:08:03 -060062 - cmake -G %GENERATOR% -DCMAKE_INSTALL_PREFIX=install ..
Karl Schultz59b5b812018-05-12 14:24:42 -060063 - cmake --build . --config %CONFIGURATION% -- /maxcpucount
Karl Schultz60db9ac2018-05-12 07:08:03 -060064 # Generate build files using CMake for the build step.
Karl Schultz59b5b812018-05-12 14:24:42 -060065 - echo Generating Vulkan-ValidationLayers CMake files for %PLATFORM% %CONFIGURATION%
66 - cd %APPVEYOR_BUILD_FOLDER%
Karl Schultz60db9ac2018-05-12 07:08:03 -060067 - mkdir build
68 - cd build
Karl Schultz59b5b812018-05-12 14:24:42 -060069 - cmake -G %GENERATOR% -DGLSLANG_REPO_ROOT=%APPVEYOR_BUILD_FOLDER%\glslang -DLOADER_REPO_ROOT=%APPVEYOR_BUILD_FOLDER%\Vulkan-Loader ..
Karl Schultz237b53a2017-12-02 14:17:12 -070070 - echo Building platform=%PLATFORM% configuration=%CONFIGURATION%
Karl Schultz6ba2be12016-12-30 10:16:33 -070071
Karl Schultz237b53a2017-12-02 14:17:12 -070072platform:
73 - Win32
74 - x64
75
76configuration:
77 - Release
78 - Debug
79
80build:
Karl Schultz60db9ac2018-05-12 07:08:03 -060081 parallel: true # enable MSBuild parallel builds
82 project: build/Vulkan-ValidationLayers.sln # path to Visual Studio solution or project
83 verbosity: quiet # quiet|minimal|normal|detailed