• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#***************************************************************************
2#                                  _   _ ____  _
3#  Project                     ___| | | |  _ \| |
4#                             / __| | | | |_) | |
5#                            | (__| |_| |  _ <| |___
6#                             \___|\___/|_| \_\_____|
7#
8# Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al.
9#
10# This software is licensed as described in the file COPYING, which
11# you should have received as part of this distribution. The terms
12# are also available at https://curl.se/docs/copyright.html.
13#
14# You may opt to use, copy, modify, merge, publish, distribute and/or sell
15# copies of the Software, and permit persons to whom the Software is
16# furnished to do so, under the terms of the COPYING file.
17#
18# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19# KIND, either express or implied.
20#
21###########################################################################
22
23version: 7.50.0.{build}
24
25environment:
26    matrix:
27      # generated CMake-based Visual Studio Release builds
28      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
29        BUILD_SYSTEM: CMake
30        PRJ_GEN: "Visual Studio 9 2008"
31        PRJ_CFG: Release
32        OPENSSL: OFF
33        SCHANNEL: ON
34        ENABLE_UNICODE: OFF
35        HTTP_ONLY: OFF
36        TESTING: OFF
37        SHARED: ON
38        DISABLED_TESTS: ""
39        COMPILER_PATH: ""
40      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
41        BUILD_SYSTEM: CMake
42        PRJ_GEN: "Visual Studio 16 2019"
43        TARGET: "-A x64"
44        PRJ_CFG: Release
45        OPENSSL: ON
46        SCHANNEL: OFF
47        ENABLE_UNICODE: OFF
48        HTTP_ONLY: OFF
49        TESTING: OFF
50        SHARED: ON
51        DISABLED_TESTS: ""
52        COMPILER_PATH: ""
53      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
54        BUILD_SYSTEM: CMake
55        PRJ_GEN: "Visual Studio 16 2019"
56        TARGET: "-A ARM64"
57        PRJ_CFG: Release
58        OPENSSL: OFF
59        SCHANNEL: ON
60        ENABLE_UNICODE: OFF
61        HTTP_ONLY: OFF
62        TESTING: OFF
63        SHARED: OFF
64        DISABLED_TESTS: ""
65        COMPILER_PATH: ""
66      # generated CMake-based Visual Studio Debug builds
67      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
68        BUILD_SYSTEM: CMake
69        PRJ_GEN: "Visual Studio 10 2010 Win64"
70        PRJ_CFG: Debug
71        OPENSSL: OFF
72        SCHANNEL: OFF
73        ENABLE_UNICODE: OFF
74        HTTP_ONLY: OFF
75        TESTING: ON
76        SHARED: OFF
77        DISABLED_TESTS: "!1139 !1501"
78        COMPILER_PATH: ""
79      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
80        BUILD_SYSTEM: CMake
81        PRJ_GEN: "Visual Studio 16 2019"
82        TARGET: "-A x64"
83        PRJ_CFG: Debug
84        OPENSSL: OFF
85        SCHANNEL: ON
86        ENABLE_UNICODE: ON
87        HTTP_ONLY: OFF
88        TESTING: ON
89        SHARED: OFF
90        DISABLED_TESTS: "~571 !1139 !1501 "
91        COMPILER_PATH: ""
92      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
93        BUILD_SYSTEM: CMake
94        PRJ_GEN: "Visual Studio 16 2019"
95        TARGET: "-A x64"
96        PRJ_CFG: Debug
97        OPENSSL: OFF
98        SCHANNEL: OFF
99        ENABLE_UNICODE: OFF
100        HTTP_ONLY: OFF
101        TESTING: ON
102        SHARED: OFF
103        DISABLED_TESTS: "~571 !1139 !1501"
104        COMPILER_PATH: ""
105      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
106        BUILD_SYSTEM: CMake
107        PRJ_GEN: "Visual Studio 16 2019"
108        TARGET: "-A x64"
109        PRJ_CFG: Debug
110        OPENSSL: OFF
111        SCHANNEL: OFF
112        ENABLE_UNICODE: OFF
113        HTTP_ONLY: ON
114        TESTING: ON
115        SHARED: OFF
116        DISABLED_TESTS: "!1139 !1501"
117        COMPILER_PATH: ""
118      # generated CMake-based MSYS Makefiles builds (mingw cross-compiling)
119      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
120        BUILD_SYSTEM: CMake
121        PRJ_GEN: "MSYS Makefiles"
122        PRJ_CFG: Debug
123        OPENSSL: OFF
124        SCHANNEL: ON
125        ENABLE_UNICODE: ON
126        HTTP_ONLY: OFF
127        TESTING: ON
128        SHARED: OFF
129        DISABLED_TESTS: "!1139 !1501"
130        COMPILER_PATH: "C:\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin"
131        MSYS2_ARG_CONV_EXCL: "/*"
132        BUILD_OPT: -k
133      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
134        BUILD_SYSTEM: CMake
135        PRJ_GEN: "MSYS Makefiles"
136        PRJ_CFG: Debug
137        OPENSSL: OFF
138        SCHANNEL: ON
139        ENABLE_UNICODE: ON
140        HTTP_ONLY: OFF
141        TESTING: ON
142        SHARED: OFF
143        DISABLED_TESTS: "!1139 !1501"
144        COMPILER_PATH: "C:\\mingw-w64\\x86_64-7.2.0-posix-seh-rt_v5-rev1\\mingw64\\bin"
145        MSYS2_ARG_CONV_EXCL: "/*"
146        BUILD_OPT: -k
147      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
148        BUILD_SYSTEM: CMake
149        PRJ_GEN: "MSYS Makefiles"
150        PRJ_CFG: Debug
151        OPENSSL: OFF
152        SCHANNEL: ON
153        ENABLE_UNICODE: OFF
154        HTTP_ONLY: OFF
155        TESTING: ON
156        SHARED: OFF
157        DISABLED_TESTS: "!1139 !1501"
158        COMPILER_PATH: "C:\\mingw-w64\\i686-6.3.0-posix-dwarf-rt_v5-rev1\\mingw32\\bin"
159        MSYS2_ARG_CONV_EXCL: "/*"
160        BUILD_OPT: -k
161      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
162        BUILD_SYSTEM: CMake
163        PRJ_GEN: "MSYS Makefiles"
164        PRJ_CFG: Debug
165        OPENSSL: OFF
166        SCHANNEL: OFF
167        ENABLE_UNICODE: OFF
168        HTTP_ONLY: OFF
169        TESTING: ON
170        SHARED: OFF
171        DISABLED_TESTS: "!1139 !1501"
172        COMPILER_PATH: "C:\\MinGW\\bin"
173        MSYS2_ARG_CONV_EXCL: "/*"
174        BUILD_OPT: -k
175      # winbuild-based builds
176      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
177        BUILD_SYSTEM: winbuild_vs2015
178        DEBUG: yes
179        PATHPART: debug
180        TESTING: OFF
181        ENABLE_UNICODE: no
182      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
183        BUILD_SYSTEM: winbuild_vs2015
184        DEBUG: no
185        PATHPART: release
186        TESTING: OFF
187        ENABLE_UNICODE: no
188      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
189        BUILD_SYSTEM: winbuild_vs2017
190        DEBUG: yes
191        PATHPART: debug
192        TESTING: OFF
193        ENABLE_UNICODE: no
194      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
195        BUILD_SYSTEM: winbuild_vs2017
196        DEBUG: no
197        PATHPART: release
198        TESTING: OFF
199        ENABLE_UNICODE: no
200      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
201        BUILD_SYSTEM: winbuild_vs2015
202        DEBUG: yes
203        PATHPART: debug
204        TESTING: OFF
205        ENABLE_UNICODE: yes
206      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
207        BUILD_SYSTEM: winbuild_vs2015
208        DEBUG: no
209        PATHPART: release
210        TESTING: OFF
211        ENABLE_UNICODE: yes
212      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
213        BUILD_SYSTEM: winbuild_vs2017
214        DEBUG: yes
215        PATHPART: debug
216        TESTING: OFF
217        ENABLE_UNICODE: yes
218      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
219        BUILD_SYSTEM: winbuild_vs2017
220        DEBUG: no
221        PATHPART: release
222        TESTING: OFF
223        ENABLE_UNICODE: yes
224      # generated VisualStudioSolution-based builds
225      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
226        BUILD_SYSTEM: VisualStudioSolution
227        PRJ_CFG: "DLL Debug - DLL Windows SSPI - DLL WinIDN"
228        TESTING: OFF
229        VC_VERSION: VC15
230      # autotools-based builds (NOT mingw cross-compiling, but msys2 native)
231      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
232        BUILD_SYSTEM: autotools
233        TESTING: ON
234        DISABLED_TESTS: "!19 ~1056 !1233"
235        CONFIG_ARGS: "--enable-debug --enable-werror --disable-threaded-resolver --disable-proxy --with-schannel"
236      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
237        BUILD_SYSTEM: autotools
238        TESTING: ON
239        DISABLED_TESTS: "!19 !504 !704 !705 ~1056 !1233"
240        CONFIG_ARGS: "--enable-debug --enable-werror --disable-threaded-resolver --with-schannel"
241      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
242        BUILD_SYSTEM: autotools
243        TESTING: ON
244        DISABLED_TESTS: "!19 !504 !704 !705 ~1056 !1233"
245        CONFIG_ARGS: "--enable-warnings --enable-werror --with-schannel"
246
247install:
248    - set "PATH=C:\msys64\usr\bin;%PATH%"
249    - if not "%COMPILER_PATH%"=="" (
250        set "PATH=%COMPILER_PATH%;%PATH%" )
251
252build_script:
253    - if %BUILD_SYSTEM%==CMake (
254        cmake .
255        -G"%PRJ_GEN%"
256        %TARGET%
257        -DCMAKE_USE_OPENSSL=%OPENSSL%
258        -DCMAKE_USE_SCHANNEL=%SCHANNEL%
259        -DHTTP_ONLY=%HTTP_ONLY%
260        -DBUILD_SHARED_LIBS=%SHARED%
261        -DBUILD_TESTING=%TESTING%
262        -DCURL_WERROR=ON
263        -DENABLE_DEBUG=ON
264        -DENABLE_UNICODE=%ENABLE_UNICODE%
265        -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=""
266        -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=""
267        -DCMAKE_INSTALL_PREFIX="C:/CURL"
268        -DCMAKE_BUILD_TYPE=%PRJ_CFG% &&
269        cmake --build . --config %PRJ_CFG% --parallel 2 --clean-first -- %BUILD_OPT%
270      ) else (
271      if %BUILD_SYSTEM%==VisualStudioSolution (
272        cd projects &&
273        .\\generate.bat %VC_VERSION% &&
274        msbuild.exe /p:Configuration="%PRJ_CFG%" "Windows\\%VC_VERSION%\\curl-all.sln"
275      ) else (
276      if %BUILD_SYSTEM%==winbuild_vs2015 (
277        call buildconf.bat &&
278        cd winbuild &&
279        call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 &&
280        call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 &&
281        nmake /f Makefile.vc mode=dll VC=14 "SSL_PATH=C:\OpenSSL-v111-Win64" WITH_SSL=dll MACHINE=x64 DEBUG=%DEBUG% ENABLE_UNICODE=%ENABLE_UNICODE% &&
282        ..\builds\libcurl-vc14-x64-%PATHPART%-dll-ssl-dll-ipv6-sspi\bin\curl.exe -V
283      ) else (
284      if %BUILD_SYSTEM%==winbuild_vs2017 (
285        call buildconf.bat &&
286        cd winbuild &&
287        call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" &&
288        nmake /f Makefile.vc mode=dll VC=15 "SSL_PATH=C:\OpenSSL-v111-Win64" WITH_SSL=dll MACHINE=x64 DEBUG=%DEBUG% ENABLE_UNICODE=%ENABLE_UNICODE% &&
289        ..\builds\libcurl-vc15-x64-%PATHPART%-dll-ssl-dll-ipv6-sspi\bin\curl.exe -V
290      ) else (
291      if %BUILD_SYSTEM%==autotools (
292        bash.exe -e -l -c "cd /c/projects/curl && ./buildconf && ./configure %CONFIG_ARGS% && make && make examples && cd tests && make"
293      )))))
294    - if %TESTING%==ON (
295        if %BUILD_SYSTEM%==CMake (
296          cmake --build . --config %PRJ_CFG% --parallel 2 --target testdeps
297      ))
298
299test_script:
300    - if %TESTING%==ON (
301        if %BUILD_SYSTEM%==CMake (
302          set TFLAGS=%DISABLED_TESTS% &&
303          cmake --build . --config %PRJ_CFG% --target test-nonflaky
304        ) else (
305          echo APPVEYOR_API_URL=%APPVEYOR_API_URL% &&
306          bash.exe -e -l -c "cd /c/projects/curl/tests && ./runtests.pl -a -p !flaky %DISABLED_TESTS%" ))
307
308# select branches to avoid testing feature branches twice (as branch and as pull request)
309branches:
310    only:
311        - master
312        - /\/ci$/
313
314artifacts:
315  - path: '**/curl.exe'
316    name: curl
317  - path: '**/*curl*.dll'
318    name: libcurl
319