blob: 53f5b395c470e421934c90444c2e8fa1658605d8 [file] [log] [blame]
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +01001# version string format -- This will be overwritten later anyway
2version: "{build}"
3
Martin Hořeňovskýa20b2862017-11-05 12:46:04 +01004branches:
5 except:
6 - /dev-travis.+/
7
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +01008os:
Martin Hořeňovský09e48302017-04-06 11:01:49 +02009 - Visual Studio 2017
Martin Hořeňovský8f0feaa2017-04-20 21:32:50 +020010 - Visual Studio 2015
Martin Hořeňovský8f0feaa2017-04-20 21:32:50 +020011
12environment:
13 matrix:
14 - additional_flags: "/permissive- /std:c++latest"
Antonio Di Monacob8443e62017-05-11 13:00:03 +020015 wmain: 0
16
Martin Hořeňovský8f0feaa2017-04-20 21:32:50 +020017 - additional_flags: ""
Antonio Di Monacob8443e62017-05-11 13:00:03 +020018 wmain: 0
19
20 - additional_flags: "/D_UNICODE /DUNICODE"
21 wmain: 1
Martin Hořeňovskýdc8a8e62018-03-06 18:33:18 +010022 coverage: 0
23
24 # Have a coverage dimension
25 - additional_flags: ""
26 wmain: 0
27 coverage: 1
28
29 # Have an examples dimension
30 - additional_flags: ""
31 wmain: 0
32 examples: 1
33
Martin Hořeňovský8f0feaa2017-04-20 21:32:50 +020034
35matrix:
36 exclude:
Martin Moenef6ae4512017-11-05 10:05:57 +010037 - os: Visual Studio 2015
38 additional_flags: "/permissive- /std:c++latest"
39
Martin Hořeňovskýdc8a8e62018-03-06 18:33:18 +010040 - os: Visual Studio 2015
41 additional_flags: "/D_UNICODE /DUNICODE"
42
43 # Exclude unwanted coverage configurations
44 - coverage: 1
45 platform: Win32
46
47 - coverage: 1
48 os: Visual Studio 2015
49
50 - coverage: 1
51 configuration: Release
52
53 # Exclude unwanted examples configurations
54 - examples: 1
55 platform: Win32
56
57 - examples: 1
58 os: Visual Studio 2015
59
60 - examples: 1
61 configuration: Release
62
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +010063
Martin Hořeňovský45a46572017-12-03 13:03:52 +010064install:
Martin Hořeňovskýe11508b2018-03-22 15:18:50 +010065 - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { python -m pip --disable-pip-version-check install codecov }
Martin Hořeňovskýdc8a8e62018-03-06 18:33:18 +010066 - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { .\misc\installOpenCppCoverage.ps1 }
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +010067
68# Win32 and x64 are CMake-compatible solution platform names.
69# This allows us to pass %PLATFORM% to CMake -A.
70platform:
71 - Win32
72 - x64
73
74# build Configurations, i.e. Debug, Release, etc.
75configuration:
76 - Debug
77 - Release
78
79#Cmake will autodetect the compiler, but we set the arch
80before_build:
Martin Hořeňovský8f0feaa2017-04-20 21:32:50 +020081 - set CXXFLAGS=%additional_flags%
Martin Hořeňovský45a46572017-12-03 13:03:52 +010082 # Indirection because appveyor doesn't handle multiline batch scripts properly
83 # https://stackoverflow.com/questions/37627248/how-to-split-a-command-over-multiple-lines-in-appveyor-yml/37647169#37647169
84 # https://help.appveyor.com/discussions/questions/3888-multi-line-cmd-or-powershell-warning-ignore
85 - cmd: .\misc\appveyorBuildConfigurationScript.bat
86
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +010087
88# build with MSBuild
89build:
David Seifert0d687a12018-01-18 00:01:27 +010090 project: Build\Catch2.sln # path to Visual Studio solution or project
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +010091 parallel: true # enable MSBuild parallel builds
92 verbosity: normal # MSBuild verbosity level {quiet|minimal|normal|detailed}
93
94test_script:
Martin Hořeňovskýf0527622017-11-22 16:11:35 +010095 - set CTEST_OUTPUT_ON_FAILURE=1
Martin Hořeňovský45a46572017-12-03 13:03:52 +010096 - cmd: .\misc\appveyorTestRunScript.bat