Karl Schultz | 6ba2be1 | 2016-12-30 10:16:33 -0700 | [diff] [blame] | 1 | # Windows Build Configuration for AppVeyor |
| 2 | # http://www.appveyor.com/docs/appveyor-yml |
Karl Schultz | 129a74b | 2017-09-04 08:16:23 -0600 | [diff] [blame] | 3 | # |
Karl Schultz | 6ba2be1 | 2016-12-30 10:16:33 -0700 | [diff] [blame] | 4 | |
Karl Schultz | 237b53a | 2017-12-02 14:17:12 -0700 | [diff] [blame] | 5 | # 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 Schultz | 6ba2be1 | 2016-12-30 10:16:33 -0700 | [diff] [blame] | 8 | # build version format |
| 9 | version: "{build}" |
| 10 | |
Karl Schultz | 0e41713 | 2018-01-03 12:50:46 -0700 | [diff] [blame] | 11 | # Free accounts have a max of 1, but ask anyway. |
Karl Schultz | 237b53a | 2017-12-02 14:17:12 -0700 | [diff] [blame] | 12 | max_jobs: 4 |
| 13 | |
Karl Schultz | 615b7f7 | 2017-02-22 13:41:55 -0700 | [diff] [blame] | 14 | os: |
Mike Schuchardt | 166f5e9 | 2018-01-03 10:48:34 -0700 | [diff] [blame] | 15 | - Visual Studio 2013 |
Karl Schultz | 6ba2be1 | 2016-12-30 10:16:33 -0700 | [diff] [blame] | 16 | |
| 17 | environment: |
| 18 | PYTHON_PATH: "C:/Python35" |
| 19 | PYTHON_PACKAGE_PATH: "C:/Python35/Scripts" |
| 20 | |
Karl Schultz | acfb380 | 2017-05-26 16:57:28 -0600 | [diff] [blame] | 21 | # Cache the external directory to improve build times. |
| 22 | # If the appveyor config file changes, invalidate the cache. |
| 23 | cache: |
| 24 | - external -> .appveyor.yml |
| 25 | |
Karl Schultz | 6ba2be1 | 2016-12-30 10:16:33 -0700 | [diff] [blame] | 26 | branches: |
| 27 | only: |
| 28 | - master |
| 29 | |
Karl Schultz | 237b53a | 2017-12-02 14:17:12 -0700 | [diff] [blame] | 30 | before_build: |
Karl Schultz | 6ba2be1 | 2016-12-30 10:16:33 -0700 | [diff] [blame] | 31 | - "SET PATH=C:\\Python35;C:\\Python35\\Scripts;%PATH%" |
Karl Schultz | 237b53a | 2017-12-02 14:17:12 -0700 | [diff] [blame] | 32 | - echo. |
| 33 | - echo Starting build for %APPVEYOR_REPO_NAME% |
Karl Schultz | 0e41713 | 2018-01-03 12:50:46 -0700 | [diff] [blame] | 34 | - echo Update external sources |
| 35 | - if %PLATFORM% == Win32 (if %CONFIGURATION% == Debug (update_external_sources.bat --32 --debug)) |
| 36 | - if %PLATFORM% == Win32 (if %CONFIGURATION% == Release (update_external_sources.bat --32 --release)) |
| 37 | - if %PLATFORM% == x64 (if %CONFIGURATION% == Debug (update_external_sources.bat --64 --debug)) |
| 38 | - if %PLATFORM% == x64 (if %CONFIGURATION% == Release (update_external_sources.bat --64 --release)) |
| 39 | # Determine the appropriate CMake generator for the current version of Visual Studio |
| 40 | - echo Determining VS version |
| 41 | - python .\scripts\determine_vs_version.py > vsversion.tmp |
| 42 | - set /p VS_VERSION=< vsversion.tmp |
| 43 | - echo Detected Visual Studio Version as %VS_VERSION% |
| 44 | - del /Q /F vsversion.tmp |
| 45 | - if %PLATFORM% == Win32 (set GENERATOR="Visual Studio %VS_VERSION%") |
| 46 | - if %PLATFORM% == x64 (set GENERATOR="Visual Studio %VS_VERSION% Win64") |
| 47 | # Generate build files using CMake for the build step. |
| 48 | - echo Generating CMake files for %GENERATOR% |
Karl Schultz | 237b53a | 2017-12-02 14:17:12 -0700 | [diff] [blame] | 49 | - cd %TOP_DIR% |
| 50 | - mkdir build |
| 51 | - cd build |
Karl Schultz | 237b53a | 2017-12-02 14:17:12 -0700 | [diff] [blame] | 52 | - cmake -G %GENERATOR% .. |
| 53 | - echo Building platform=%PLATFORM% configuration=%CONFIGURATION% |
Karl Schultz | 6ba2be1 | 2016-12-30 10:16:33 -0700 | [diff] [blame] | 54 | |
Karl Schultz | 237b53a | 2017-12-02 14:17:12 -0700 | [diff] [blame] | 55 | platform: |
| 56 | - Win32 |
| 57 | - x64 |
| 58 | |
| 59 | configuration: |
| 60 | - Release |
| 61 | - Debug |
| 62 | |
| 63 | build: |
| 64 | parallel: true # enable MSBuild parallel builds |
| 65 | project: build/VULKAN.sln # path to Visual Studio solution or project |
| 66 | verbosity: quiet # quiet|minimal|normal|detailed |