summaryrefslogtreecommitdiff
path: root/appveyor.yml
blob: 22d6fdc6c3cf78089dceeafb9c1e1999e1eddabc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# AppVeyor configuration
#                          __  __            _
#                       ___\ \/ /_ __   __ _| |_
#                      / _ \\  /| '_ \ / _` | __|
#                     |  __//  \| |_) | (_| | |_
#                      \___/_/\_\ .__/ \__,_|\__|
#                               |_| XML parser
#
# Copyright (c) 2017      José Gutiérrez de la Concha <jose@zeroc.com>
# Copyright (c) 2017-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2017      Franek Korta <fkorta@gmail.com>
# Licensed under the MIT license:
#
# Permission is  hereby granted,  free of charge,  to any  person obtaining
# a  copy  of  this  software   and  associated  documentation  files  (the
# "Software"),  to  deal in  the  Software  without restriction,  including
# without  limitation the  rights  to use,  copy,  modify, merge,  publish,
# distribute, sublicense, and/or sell copies of the Software, and to permit
# persons  to whom  the Software  is  furnished to  do so,  subject to  the
# following conditions:
#
# The above copyright  notice and this permission notice  shall be included
# in all copies or substantial portions of the Software.
#
# THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND,
# EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
# NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
# DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR
# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
# USE OR OTHER DEALINGS IN THE SOFTWARE.

# scripts that are called at very beginning, before repo cloning
init:
- git config --global core.autocrlf input

# version format
version: libexpat-{build}

# set clone depth, clone entire repository history if not defined
clone_depth: 50

# clone directory
clone_folder: c:\projects\libexpat

configuration: Debug

# AppVeyor pre-installed software:
# https://www.appveyor.com/docs/build-environment/#pre-installed-software
#
# CMake Visual Studio generators:
# https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html#visual-studio-generators
environment:
  matrix:
    # Visual Studio 2017 Win32
    - GENERATOR: Visual Studio 15 2017
      PLATFORM: Win32
      EXPAT_DLL: libexpatd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017

    # Visual Studio 2017 Win32 XML_UNICODE_WCHAR_T
    - GENERATOR: Visual Studio 15 2017
      PLATFORM: Win32
      CMAKE_ARGS: -DEXPAT_CHAR_TYPE=wchar_t
      EXPAT_DLL: libexpatwd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017

    # Visual Studio 2017 x64
    - GENERATOR: Visual Studio 15 2017 Win64
      PLATFORM: x64
      EXPAT_DLL: libexpatd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017

    # Visual Studio 2017 x64 XML_UNICODE_WCHAR_T
    - GENERATOR: Visual Studio 15 2017 Win64
      PLATFORM: x64
      CMAKE_ARGS: -DEXPAT_CHAR_TYPE=wchar_t
      EXPAT_DLL: libexpatwd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017

    # Visual Studio 2019 Win32
    - GENERATOR: Visual Studio 16 2019
      PLATFORM: Win32
      CMAKE_ARGS: -A Win32
      EXPAT_DLL: libexpatd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019

    # Visual Studio 2019 Win32 XML_UNICODE_WCHAR_T
    - GENERATOR: Visual Studio 16 2019
      PLATFORM: Win32
      CMAKE_ARGS: -A Win32 -DEXPAT_CHAR_TYPE=wchar_t
      EXPAT_DLL: libexpatwd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019

    # Visual Studio 2019 x64
    - GENERATOR: Visual Studio 16 2019
      PLATFORM: x64
      EXPAT_DLL: libexpatd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019

    # Visual Studio 2019 x64 XML_UNICODE_WCHAR_T
    - GENERATOR: Visual Studio 16 2019
      PLATFORM: x64
      CMAKE_ARGS: -DEXPAT_CHAR_TYPE=wchar_t
      EXPAT_DLL: libexpatwd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019

    # Visual Studio 2022 Win32
    - GENERATOR: Visual Studio 17 2022
      PLATFORM: Win32
      CMAKE_ARGS: -A Win32
      EXPAT_DLL: libexpatd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022

    # Visual Studio 2022 Win32 XML_UNICODE_WCHAR_T
    - GENERATOR: Visual Studio 17 2022
      PLATFORM: Win32
      CMAKE_ARGS: -A Win32 -DEXPAT_CHAR_TYPE=wchar_t
      EXPAT_DLL: libexpatwd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022

    # Visual Studio 2022 x64
    - GENERATOR: Visual Studio 17 2022
      PLATFORM: x64
      EXPAT_DLL: libexpatd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022

    # Visual Studio 2022 x64 XML_UNICODE_WCHAR_T
    - GENERATOR: Visual Studio 17 2022
      PLATFORM: x64
      CMAKE_ARGS: -DEXPAT_CHAR_TYPE=wchar_t
      EXPAT_DLL: libexpatwd.dll
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022

before_build:
  - echo Running cmake...
  - cd c:\projects\libexpat
  - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON %CMAKE_ARGS% expat

build:
  parallel: true                  # enable MSBuild parallel builds
  project: expat.sln              # path to Visual Studio solution or project

test_script:
  - cp %CONFIGURATION%\\%EXPAT_DLL% tests\\%CONFIGURATION%\\
  - ctest --build-config %CONFIGURATION% --output-on-failure --parallel 2