Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 1 | shallow_clone: true |
| 2 | |
| 3 | platform: |
| 4 | - x86 |
| 5 | - x64 |
| 6 | |
| 7 | configuration: |
| 8 | - Debug |
| 9 | - Release |
| 10 | |
| 11 | image: |
| 12 | - Visual Studio 2015 |
| 13 | - Visual Studio 2017 |
| 14 | |
Anna Gringauze | 21cb6bb | 2018-06-15 10:13:11 -0700 | [diff] [blame] | 15 | environment: |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 16 | NINJA_TAG: v1.8.2 |
| 17 | NINJA_SHA512: 9B9CE248240665FCD6404B989F3B3C27ED9682838225E6DC9B67B551774F251E4FF8A207504F941E7C811E7A8BE1945E7BCB94472A335EF15E23A0200A32E6D5 |
| 18 | NINJA_PATH: C:\Tools\ninja\ninja-%NINJA_TAG% |
| 19 | VCVAR2015: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat' |
| 20 | VCVAR2017: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat' |
Anna Gringauze | 21cb6bb | 2018-06-15 10:13:11 -0700 | [diff] [blame] | 21 | matrix: |
| 22 | - GSL_CXX_STANDARD: 14 |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 23 | USE_TOOLSET: MSVC |
| 24 | USE_GENERATOR: MSBuild |
Anna Gringauze | 21cb6bb | 2018-06-15 10:13:11 -0700 | [diff] [blame] | 25 | - GSL_CXX_STANDARD: 17 |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 26 | USE_TOOLSET: MSVC |
| 27 | USE_GENERATOR: MSBuild |
| 28 | - GSL_CXX_STANDARD: 14 |
| 29 | USE_TOOLSET: LLVM |
| 30 | USE_GENERATOR: Ninja |
| 31 | - GSL_CXX_STANDARD: 17 |
| 32 | USE_TOOLSET: LLVM |
| 33 | USE_GENERATOR: Ninja |
Anna Gringauze | 21cb6bb | 2018-06-15 10:13:11 -0700 | [diff] [blame] | 34 | |
| 35 | matrix: |
| 36 | exclude: |
| 37 | - image: Visual Studio 2015 |
| 38 | GSL_CXX_STANDARD: 17 |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 39 | - image: Visual Studio 2015 |
| 40 | USE_TOOLSET: LLVM |
| 41 | USE_GENERATOR: MSBuild |
Anna Gringauze | 21cb6bb | 2018-06-15 10:13:11 -0700 | [diff] [blame] | 42 | |
Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 43 | cache: |
Neil MacIntosh | b2ee484 | 2017-07-13 13:53:56 -0700 | [diff] [blame] | 44 | - C:\cmake-3.8.0-win32-x86 |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 45 | - C:\Tools\ninja |
Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 46 | |
| 47 | install: |
Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 48 | - ps: | |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 49 | if (![IO.File]::Exists("$env:NINJA_PATH\ninja.exe")) { |
| 50 | Start-FileDownload ` |
| 51 | "https://github.com/ninja-build/ninja/releases/download/$env:NINJA_TAG/ninja-win.zip" |
| 52 | $hash = (Get-FileHash ninja-win.zip -Algorithm SHA512).Hash |
| 53 | if ($env:NINJA_SHA512 -eq $hash) { |
| 54 | 7z e -y -bso0 ninja-win.zip -o"$env:NINJA_PATH" |
| 55 | } else { Write-Warning "Ninja download hash changed!"; Write-Output "$hash" } |
Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 56 | } |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 57 | if ([IO.File]::Exists("$env:NINJA_PATH\ninja.exe")) { |
| 58 | $env:PATH = "$env:NINJA_PATH;$env:PATH" |
| 59 | } else { Write-Warning "Failed to find ninja.exe in expected location." } |
| 60 | if ($env:USE_TOOLSET -ne "LLVM") { |
| 61 | if (![IO.File]::Exists("C:\cmake-3.8.0-win32-x86\bin\cmake.exe")) { |
| 62 | Start-FileDownload 'https://cmake.org/files/v3.8/cmake-3.8.0-win32-x86.zip' |
| 63 | 7z x -y -bso0 cmake-3.8.0-win32-x86.zip -oC:\ |
| 64 | } |
| 65 | $env:PATH="C:\cmake-3.8.0-win32-x86\bin;$env:PATH" |
| 66 | } |
Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 67 | |
| 68 | before_build: |
| 69 | - ps: | |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 70 | if ("$env:USE_GENERATOR" -eq "Ninja") { |
| 71 | $GeneratorFlags = '-k 10' |
| 72 | $Architecture = $env:PLATFORM |
| 73 | if ("$env:APPVEYOR_BUILD_WORKER_IMAGE" -eq "Visual Studio 2015") { |
| 74 | $env:VCVARSALL = "`"$env:VCVAR2015`" $Architecture" |
| 75 | } else { |
| 76 | $env:VCVARSALL = "`"$env:VCVAR2017`" $Architecture" |
| 77 | } |
| 78 | $env:CMakeGenFlags = "-G Ninja -DGSL_CXX_STANDARD=$env:GSL_CXX_STANDARD" |
Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 79 | } else { |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 80 | $GeneratorFlags = '/m /v:minimal' |
| 81 | if ("$env:APPVEYOR_BUILD_WORKER_IMAGE" -eq "Visual Studio 2015") { |
| 82 | $Generator = 'Visual Studio 14 2015' |
| 83 | } else { |
| 84 | $Generator = 'Visual Studio 15 2017' |
| 85 | } |
| 86 | if ("$env:PLATFORM" -eq "x86") { |
| 87 | $Architecture = "Win32" |
| 88 | } else { |
| 89 | $Architecture = "x64" |
| 90 | } |
| 91 | if ("$env:USE_TOOLSET" -eq "LLVM") { |
| 92 | $env:CMakeGenFlags = "-G `"$Generator`" -A $Architecture -T llvm -DGSL_CXX_STANDARD=$env:GSL_CXX_STANDARD" |
| 93 | } else { |
| 94 | $env:CMakeGenFlags = "-G `"$Generator`" -A $Architecture -DGSL_CXX_STANDARD=$env:GSL_CXX_STANDARD" |
| 95 | } |
Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 96 | } |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 97 | if ("$env:USE_TOOLSET" -eq "LLVM") { |
| 98 | $env:CC = "clang-cl" |
| 99 | $env:CXX = "clang-cl" |
| 100 | if ("$env:PLATFORM" -eq "x86") { |
| 101 | $env:CFLAGS = "-m32"; |
| 102 | $env:CXXFLAGS = "-m32"; |
| 103 | } else { |
| 104 | $env:CFLAGS = "-m64"; |
| 105 | $env:CXXFLAGS = "-m64"; |
| 106 | } |
Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 107 | } |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 108 | $env:CMakeBuildFlags = "--config $env:CONFIGURATION -- $GeneratorFlags" |
| 109 | - mkdir build |
| 110 | - cd build |
| 111 | - if %USE_GENERATOR%==Ninja (call %VCVARSALL%) |
| 112 | - echo %CMakeGenFlags% |
| 113 | - cmake .. %CMakeGenFlags% |
Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 114 | |
| 115 | build_script: |
Anna Gringauze | 6418b5f | 2019-01-15 10:27:34 -0800 | [diff] [blame] | 116 | - echo %CMakeBuildFlags% |
| 117 | - cmake --build . %CMakeBuildFlags% |
Casey Carter | 3300602 | 2017-04-02 12:24:42 -0700 | [diff] [blame] | 118 | |
| 119 | test_script: |
| 120 | - ctest -j2 |
| 121 | |
| 122 | deploy: off |