• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# version string format -- This will be overwritten later anyway
2version: "{build}"
3
4branches:
5  except:
6    - /dev-travis.+/
7
8os:
9  - Visual Studio 2017
10  - Visual Studio 2015
11
12environment:
13    matrix:
14        - additional_flags: "/permissive- /std:c++latest"
15          wmain: 0
16
17        - additional_flags: ""
18          wmain: 0
19
20        - additional_flags: "/D_UNICODE /DUNICODE"
21          wmain: 1
22          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
34
35matrix:
36    exclude:
37        - os: Visual Studio 2015
38          additional_flags: "/permissive- /std:c++latest"
39
40        - 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
63
64install:
65  - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { python -m pip --disable-pip-version-check install codecov }
66  - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { .\misc\installOpenCppCoverage.ps1 }
67
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:
81  - set CXXFLAGS=%additional_flags%
82  # 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
87
88# build with MSBuild
89build:
90  project: Build\Catch2.sln             # path to Visual Studio solution or project
91  parallel: true                        # enable MSBuild parallel builds
92  verbosity: normal                     # MSBuild verbosity level {quiet|minimal|normal|detailed}
93
94test_script:
95  - set CTEST_OUTPUT_ON_FAILURE=1
96  - cmd: .\misc\appveyorTestRunScript.bat
97