xref: /aosp_15_r20/external/vulkan-validation-layers/.appveyor.yml (revision b7893ccf7851cd6a48cc5a1e965257d8a5cdcc70)
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