blob: dfd443163af4ab3a9d9ea7ecfa0f276a58a6ba00 [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ý32733e02019-11-13 20:58:15 +01004# We need a more up to date pip because Python 2.7 is EOL soon
5init:
6 - set PATH=C:\Python35\Scripts;%PATH%
7
8
Martin Hořeňovskýa20b2862017-11-05 12:46:04 +01009branches:
10 except:
11 - /dev-travis.+/
12
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +010013os:
Martin Hořeňovský09e48302017-04-06 11:01:49 +020014 - Visual Studio 2017
Martin Hořeňovský8f0feaa2017-04-20 21:32:50 +020015 - Visual Studio 2015
Martin Hořeňovský8f0feaa2017-04-20 21:32:50 +020016
17environment:
18 matrix:
19 - additional_flags: "/permissive- /std:c++latest"
Antonio Di Monacob8443e62017-05-11 13:00:03 +020020 wmain: 0
21
Martin Hořeňovský8f0feaa2017-04-20 21:32:50 +020022 - additional_flags: ""
Antonio Di Monacob8443e62017-05-11 13:00:03 +020023 wmain: 0
24
25 - additional_flags: "/D_UNICODE /DUNICODE"
26 wmain: 1
Martin Hořeňovskýdc8a8e62018-03-06 18:33:18 +010027 coverage: 0
28
29 # Have a coverage dimension
30 - additional_flags: ""
31 wmain: 0
32 coverage: 1
33
34 # Have an examples dimension
35 - additional_flags: ""
36 wmain: 0
37 examples: 1
38
Martin Hořeňovský8f0feaa2017-04-20 21:32:50 +020039
40matrix:
41 exclude:
Martin Moenef6ae4512017-11-05 10:05:57 +010042 - os: Visual Studio 2015
43 additional_flags: "/permissive- /std:c++latest"
44
Martin Hořeňovskýdc8a8e62018-03-06 18:33:18 +010045 - os: Visual Studio 2015
46 additional_flags: "/D_UNICODE /DUNICODE"
47
48 # Exclude unwanted coverage configurations
49 - coverage: 1
50 platform: Win32
51
52 - coverage: 1
53 os: Visual Studio 2015
54
55 - coverage: 1
56 configuration: Release
57
58 # Exclude unwanted examples configurations
59 - examples: 1
60 platform: Win32
61
62 - examples: 1
63 os: Visual Studio 2015
64
65 - examples: 1
66 configuration: Release
67
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +010068
Martin Hořeňovský45a46572017-12-03 13:03:52 +010069install:
Martin Hořeňovský32733e02019-11-13 20:58:15 +010070 - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { pip --disable-pip-version-check install codecov }
Martin Hořeňovskýdc8a8e62018-03-06 18:33:18 +010071 - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { .\misc\installOpenCppCoverage.ps1 }
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +010072
73# Win32 and x64 are CMake-compatible solution platform names.
74# This allows us to pass %PLATFORM% to CMake -A.
75platform:
76 - Win32
77 - x64
78
79# build Configurations, i.e. Debug, Release, etc.
80configuration:
81 - Debug
82 - Release
83
84#Cmake will autodetect the compiler, but we set the arch
85before_build:
Martin Hořeňovský8f0feaa2017-04-20 21:32:50 +020086 - set CXXFLAGS=%additional_flags%
Martin Hořeňovský45a46572017-12-03 13:03:52 +010087 # Indirection because appveyor doesn't handle multiline batch scripts properly
88 # https://stackoverflow.com/questions/37627248/how-to-split-a-command-over-multiple-lines-in-appveyor-yml/37647169#37647169
89 # https://help.appveyor.com/discussions/questions/3888-multi-line-cmd-or-powershell-warning-ignore
90 - cmd: .\misc\appveyorBuildConfigurationScript.bat
91
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +010092
93# build with MSBuild
94build:
David Seifert0d687a12018-01-18 00:01:27 +010095 project: Build\Catch2.sln # path to Visual Studio solution or project
Martin Hořeňovský29fa1ed2017-02-14 09:37:37 +010096 parallel: true # enable MSBuild parallel builds
97 verbosity: normal # MSBuild verbosity level {quiet|minimal|normal|detailed}
98
99test_script:
Martin Hořeňovskýf0527622017-11-22 16:11:35 +0100100 - set CTEST_OUTPUT_ON_FAILURE=1
Martin Hořeňovský45a46572017-12-03 13:03:52 +0100101 - cmd: .\misc\appveyorTestRunScript.bat