]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | version: '{build}'\r |
2 | \r | |
7c673cae | 3 | \r |
37b3c998 TL |
4 | build:\r |
5 | # no automatic build in script mode\r | |
6 | \r | |
7 | \r | |
8 | skip_commits:\r | |
9 | # Builds just testing something on Travis CI don't need to be \r | |
10 | # done on AppVeyor\r | |
11 | message: /\[Travis\]/\r | |
12 | # Dont build, if only documentation was changed\r | |
13 | files:\r | |
14 | - '**/*.md'\r | |
15 | \r | |
7c673cae FG |
16 | \r |
17 | environment:\r | |
18 | enable_cxx: NO\r | |
19 | enable_ssl_dynamic_loading: YES\r | |
20 | enable_lua: NO\r | |
21 | enable_lua_shared: NO\r | |
22 | c_standard: auto\r | |
23 | cxx_standard: auto\r | |
24 | matrix:\r | |
37b3c998 TL |
25 | # Use default values\r |
26 | - id: Default-x86\r | |
27 | compiler: msvc-19-seh\r | |
7c673cae FG |
28 | build_shared: NO\r |
29 | no_files: NO\r | |
30 | enable_ipv6: NO\r | |
31 | enable_ssl: YES\r | |
37b3c998 | 32 | enable_websockets: NO\r |
7c673cae FG |
33 | no_cgi: NO\r |
34 | no_caching: NO\r | |
37b3c998 TL |
35 | configuration: Release\r |
36 | platform: x86\r | |
37 | - id: Default-x64\r | |
38 | compiler: msvc-19-seh\r | |
39 | build_shared: NO\r | |
7c673cae FG |
40 | no_files: NO\r |
41 | enable_ipv6: NO\r | |
42 | enable_ssl: YES\r | |
37b3c998 TL |
43 | enable_websockets: NO\r |
44 | no_cgi: NO\r | |
45 | no_caching: NO\r | |
46 | configuration: Release\r | |
47 | platform: x64\r | |
48 | # Use default values\r | |
49 | - id: Full-x86\r | |
50 | compiler: msvc-19-seh\r | |
51 | build_shared: NO\r | |
52 | no_files: NO\r | |
53 | enable_ipv6: YES\r | |
54 | enable_ssl: YES\r | |
7c673cae FG |
55 | enable_websockets: YES\r |
56 | no_cgi: NO\r | |
57 | no_caching: NO\r | |
37b3c998 TL |
58 | configuration: Release\r |
59 | platform: x86\r | |
60 | - id: Full-x64\r | |
61 | compiler: msvc-19-seh\r | |
62 | build_shared: NO\r | |
63 | no_files: NO\r | |
64 | enable_ipv6: YES\r | |
7c673cae FG |
65 | enable_ssl: YES\r |
66 | enable_websockets: YES\r | |
67 | no_cgi: NO\r | |
68 | no_caching: NO\r | |
37b3c998 TL |
69 | configuration: Release\r |
70 | platform: x64\r | |
71 | # Debug builds\r | |
72 | - id: Full-x86-Debug\r | |
73 | compiler: msvc-19-seh\r | |
74 | build_shared: NO\r | |
75 | no_files: NO\r | |
76 | enable_ipv6: YES\r | |
77 | enable_ssl: YES\r | |
78 | enable_websockets: YES\r | |
79 | no_cgi: NO\r | |
80 | no_caching: NO\r | |
81 | configuration: Debug\r | |
82 | platform: x86\r | |
83 | - id: Full-x64-Debug\r | |
84 | compiler: msvc-19-seh\r | |
85 | build_shared: NO\r | |
86 | no_files: NO\r | |
87 | enable_ipv6: YES\r | |
88 | enable_ssl: YES\r | |
89 | enable_websockets: YES\r | |
90 | no_cgi: NO\r | |
91 | no_caching: NO\r | |
92 | configuration: Debug\r | |
93 | platform: x64\r | |
94 | # Minimum settings\r | |
95 | - id: Minimal-x86\r | |
96 | compiler: msvc-19-seh\r | |
7c673cae FG |
97 | build_shared: NO\r |
98 | no_files: YES\r | |
99 | enable_ipv6: NO\r | |
100 | enable_ssl: NO\r | |
101 | enable_websockets: NO\r | |
102 | no_cgi: YES\r | |
37b3c998 TL |
103 | no_caching: YeS\r |
104 | configuration: Release\r | |
105 | platform: x86\r | |
106 | - id: Minimal-x64\r | |
107 | compiler: msvc-19-seh\r | |
108 | build_shared: NO\r | |
109 | no_files: YES\r | |
110 | enable_ipv6: NO\r | |
111 | enable_ssl: NO\r | |
112 | enable_websockets: NO\r | |
113 | no_cgi: YES\r | |
114 | no_caching: YeS\r | |
115 | configuration: Release\r | |
116 | platform: x64\r | |
117 | # Test shared and debug build\r | |
118 | - id: Shared-default-x86\r | |
119 | compiler: msvc-19-seh\r | |
120 | build_shared: YES\r | |
121 | no_files: NO\r | |
122 | enable_ipv6: NO\r | |
123 | enable_ssl: YES\r | |
124 | enable_websockets: NO\r | |
125 | no_cgi: NO\r | |
126 | no_caching: NO\r | |
127 | configuration: Release\r | |
128 | platform: x86\r | |
129 | - id: Shared-default-x64\r | |
130 | compiler: msvc-19-seh\r | |
131 | build_shared: YES\r | |
132 | no_files: NO\r | |
133 | enable_ipv6: NO\r | |
134 | enable_ssl: YES\r | |
135 | enable_websockets: NO\r | |
136 | no_cgi: NO\r | |
137 | no_caching: NO\r | |
138 | configuration: Release\r | |
139 | platform: x64\r | |
140 | # MinGW\r | |
141 | - id: Full-GCC-x64\r | |
142 | compiler: gcc-5.1.0-posix\r | |
7c673cae FG |
143 | build_shared: NO\r |
144 | no_files: NO\r | |
145 | enable_ipv6: YES\r | |
146 | enable_ssl: YES\r | |
147 | enable_websockets: YES\r | |
148 | no_cgi: NO\r | |
37b3c998 TL |
149 | no_caching: NO\r |
150 | configuration: Release\r | |
151 | platform: x64\r | |
152 | # Visual Studio 2010\r | |
153 | - id: Full-VS2010-x86\r | |
154 | compiler: msvc-16-seh\r | |
7c673cae FG |
155 | build_shared: NO\r |
156 | no_files: NO\r | |
37b3c998 | 157 | enable_ipv6: YES\r |
7c673cae FG |
158 | enable_ssl: YES\r |
159 | enable_websockets: YES\r | |
160 | no_cgi: NO\r | |
37b3c998 TL |
161 | no_caching: NO\r |
162 | configuration: Release\r | |
163 | platform: x86\r | |
164 | # Visual Studio 2012\r | |
165 | - id: Full-VS2012-x86\r | |
166 | compiler: msvc-17-seh\r | |
167 | build_shared: NO\r | |
7c673cae | 168 | no_files: NO\r |
37b3c998 | 169 | enable_ipv6: YES\r |
7c673cae FG |
170 | enable_ssl: YES\r |
171 | enable_websockets: YES\r | |
172 | no_cgi: NO\r | |
37b3c998 TL |
173 | no_caching: NO\r |
174 | configuration: Release\r | |
175 | platform: x86\r | |
176 | # Visual Studio 2013\r | |
177 | - id: Full-VS2013-x86\r | |
178 | compiler: msvc-18-seh\r | |
179 | build_shared: NO\r | |
180 | no_files: NO\r | |
181 | enable_ipv6: YES\r | |
182 | enable_ssl: YES\r | |
183 | enable_websockets: YES\r | |
184 | no_cgi: NO\r | |
185 | no_caching: NO\r | |
186 | configuration: Release\r | |
187 | platform: x86\r | |
188 | - id: Full-VS2013-x64\r | |
189 | compiler: msvc-18-seh\r | |
190 | build_shared: NO\r | |
191 | no_files: NO\r | |
192 | enable_ipv6: YES\r | |
193 | enable_ssl: YES\r | |
194 | enable_websockets: YES\r | |
195 | no_cgi: NO\r | |
196 | no_caching: NO\r | |
197 | configuration: Release\r | |
198 | platform: x64\r | |
199 | # Visual Studio 2015 is default\r | |
200 | # Visual Studio 2017 is not yet default\r | |
201 | - id: Full-VS2017-x86\r | |
202 | compiler: msvc-20-seh\r | |
203 | build_shared: NO\r | |
204 | no_files: NO\r | |
205 | enable_ipv6: YES\r | |
206 | enable_ssl: YES\r | |
207 | enable_websockets: YES\r | |
208 | no_cgi: NO\r | |
209 | no_caching: NO\r | |
210 | configuration: Release\r | |
211 | platform: x86\r | |
212 | APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017\r | |
213 | - id: Full-VS2017-x64\r | |
214 | compiler: msvc-20-seh\r | |
215 | build_shared: NO\r | |
216 | no_files: NO\r | |
217 | enable_ipv6: YES\r | |
7c673cae FG |
218 | enable_ssl: YES\r |
219 | enable_websockets: YES\r | |
220 | no_cgi: NO\r | |
37b3c998 TL |
221 | no_caching: NO\r |
222 | configuration: Release\r | |
223 | platform: x64\r | |
224 | APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017\r | |
7c673cae FG |
225 | \r |
226 | \r | |
227 | install:\r | |
228 | # Derive some extra information\r | |
229 | - set build_type=%configuration%\r | |
230 | - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_name=%%a")\r | |
231 | - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_version=%%b")\r | |
232 | - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_threading=%%c")\r | |
233 | - if "%platform%"=="x64" (set arch=x86_64)\r | |
234 | - if "%platform%"=="x86" (set arch=i686)\r | |
235 | # Download the specific version of MinGW\r | |
236 | - if "%compiler_name%"=="gcc" (@set "mingw_output_folder=C:\mingw-builds")\r | |
237 | - if "%compiler_name%"=="gcc" (\r | |
238 | @for /f %%a in (\r | |
239 | 'call mingw.cmd\r | |
240 | /version "%compiler_version%"\r | |
241 | /arch "%arch%"\r | |
242 | /threading "%compiler_threading%"\r | |
243 | "%mingw_output_folder%"'\r | |
244 | ) do @set "compiler_path=%%a"\r | |
245 | )\r | |
246 | - if "%compiler_name%"=="gcc" (@set "mingw_log_folder=%mingw_output_folder%\logs")\r | |
247 | - if exist "%mingw_log_folder%" @for /f %%f in ('dir /b /oD /tc "%mingw_log_folder%"') do @set "mingw_log_file=%mingw_log_folder%\%%f"\r | |
248 | - if exist "%mingw_log_file%" powershell Push-AppveyorArtifact "%mingw_log_file%" -FileName mingw-download.log\r | |
249 | # Get OpenSSL\r | |
250 | #\r | |
251 | # OpenSSL should already be installed, according to\r | |
252 | # - http://help.appveyor.com/discussions/questions/1132-openssl-installation-issues\r | |
253 | # - https://github.com/appveyor/ci/issues/576\r | |
254 | #\r | |
255 | - cmd: set PATH=%PATH%;C:\OpenSSL-Win32;C:\OpenSSL-Win64\r | |
256 | - dir C:\OpenSSL-Win32\r | |
257 | - dir C:\OpenSSL-Win64\r | |
258 | - path\r | |
259 | \r | |
260 | \r | |
261 | before_build:\r | |
262 | # Remove sh.exe from the path otherwise CMake will complain:\r | |
263 | # "sh.exe was found in your PATH, here: C:/Program Files/Git/usr/bin/sh.exe"\r | |
264 | # and the MinGW build will not work (the Visual Studio build does not care).\r | |
265 | # See http://help.appveyor.com/discussions/problems/3193-cmake-building-for-mingw-issue-with-git-shexe\r | |
266 | # The entire directory containing sh.exe could be removed from the PATH environment:\r | |
267 | # - set PATH=%PATH:C:\Program Files\Git\usr\bin;=%\r | |
268 | # However, this will also remove all other programs in this directory from the PATH.\r | |
269 | # In particular "patch" is still required.\r | |
270 | # So, just rename sh.exe:\r | |
271 | - ren "C:\Program Files\Git\usr\bin\sh.exe" _sh.exe\r | |
272 | # Set up mingw commands\r | |
273 | - if "%compiler_name%"=="gcc" (set "generator=MinGW Makefiles")\r | |
274 | - if "%compiler_name%"=="gcc" (set "build=mingw32-make -j4")\r | |
275 | - if "%compiler_name%"=="gcc" (set "test=mingw32-make test")\r | |
276 | # MSVC specific commands\r | |
277 | # Note: The minimum version officially supported for CivetWeb is VS2010. Older ones might work or not.\r | |
278 | - if "%compiler_version%"=="14" (set "vs_version=8" & set "vs_year=2005")\r | |
279 | - if "%compiler_version%"=="15" (set "vs_version=9" & set "vs_year=2008")\r | |
280 | - if "%compiler_version%"=="16" (set "vs_version=10" & set "vs_year=2010")\r | |
281 | - if "%compiler_version%"=="17" (set "vs_version=11" & set "vs_year=2012")\r | |
282 | - if "%compiler_version%"=="18" (set "vs_version=12" & set "vs_year=2013")\r | |
283 | - if "%compiler_version%"=="19" (set "vs_version=14" & set "vs_year=2015")\r | |
37b3c998 | 284 | - if "%compiler_version%"=="20" (set "vs_version=15" & set "vs_year=2017")\r |
7c673cae FG |
285 | - if "%compiler_name%"=="msvc" (set "generator=Visual Studio %vs_version% %vs_year%")\r |
286 | - if "%compiler_name%"=="msvc" (\r | |
287 | if "%platform%"=="x64" (\r | |
288 | set "generator=%generator% Win64"\r | |
289 | )\r | |
290 | )\r | |
291 | - if %compiler_version% gtr 9 (set platform=%platform:x86=Win32%)\r | |
292 | - if "%compiler_name%"=="msvc" (set "msbuild_opts=/clp:OnlyErrors;OnlyWarnings /nologo /m /v:m")\r | |
293 | - if "%compiler_name%"=="msvc" (set "build=msbuild %msbuild_opts% /p:Configuration=%configuration% /p:Platform=%platform% civetweb.sln")\r | |
294 | - if "%compiler_name%"=="msvc" (set "test=msbuild %msbuild_opts% RUN_TESTS.vcxproj")\r | |
295 | # Add the compiler path if needed\r | |
296 | - if not "%compiler_path%"=="" (set "PATH=%PATH%;%compiler_path%")\r | |
297 | # git bash conflicts with MinGW makefiles\r | |
298 | - if "%generator%"=="MinGW Makefiles" (set "PATH=%PATH:C:\Program Files (x86)\Git\bin=%")\r | |
299 | # Useful locations\r | |
300 | - set "source_path=%cd%"\r | |
301 | - set "output_path=%source_path%\output"\r | |
302 | - set "build_path=%output_path%\build"\r | |
303 | - set "install_path=%output_path%\install"\r | |
304 | - set "third_party_dir=C:\third-party"\r | |
305 | # Check some settings of the build server\r | |
306 | - ver\r | |
307 | - cd\r | |
308 | - dir\r | |
309 | - ipconfig /all\r | |
310 | # Generate the build scripts with CMake\r | |
311 | - mkdir "%build_path%"\r | |
312 | - cd "%build_path%"\r | |
313 | - cmake --version\r | |
314 | - appveyor AddMessage -Category Information "Generating '%generator%'"\r | |
315 | - cmake\r | |
316 | -G "%generator%"\r | |
317 | -DCMAKE_BUILD_TYPE=%build_type%\r | |
318 | -DBUILD_SHARED_LIBS=%build_shared%\r | |
319 | -DCIVETWEB_SERVE_NO_FILES=%no_files%\r | |
320 | "-DCIVETWEB_THIRD_PARTY_DIR=%third_party_dir:\=\\%"\r | |
321 | -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES\r | |
322 | -DCIVETWEB_ENABLE_SSL=%enable_ssl%\r | |
323 | -DCIVETWEB_DISABLE_CGI=%no_cgi%\r | |
324 | -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=%enable_ssl_dynamic_loading%\r | |
325 | -DCIVETWEB_ENABLE_WEBSOCKETS=%enable_websockets%\r | |
326 | -DCIVETWEB_ENABLE_CXX=%enable_cxx%\r | |
327 | -DCIVETWEB_ENABLE_LUA=%enable_lua%\r | |
328 | -DCIVETWEB_ENABLE_LUA_SHARED=%enable_lua_shared%\r | |
329 | -DCIVETWEB_DISABLE_CACHING=%no_caching%\r | |
330 | -DCIVETWEB_C_STANDARD=%c_standard%\r | |
331 | -DCIVETWEB_CXX_STANDARD=%cxx_standard%\r | |
332 | "%source_path%"\r | |
333 | - powershell Push-AppveyorArtifact CMakeCache.txt\r | |
334 | - cd "%source_path%"\r | |
335 | \r | |
336 | build_script:\r | |
337 | - cd\r | |
338 | - cd "%build_path%"\r | |
339 | - appveyor AddMessage -Category Information "Build command '%build%'"\r | |
340 | - cmd /c "%build%"\r | |
341 | - cd "%source_path%"\r | |
342 | \r | |
343 | test_script:\r | |
344 | - cd "%build_path%"\r | |
345 | - appveyor AddMessage -Category Information "Test command '%build%'"\r | |
346 | - set CTEST_OUTPUT_ON_FAILURE=1\r | |
347 | - cmd /c "%test%"\r | |
348 | - cd "%source_path%"\r | |
349 | \r | |
37b3c998 TL |
350 | - set "output_path=%source_path%\output"\r |
351 | - set "build_path=%output_path%\build"\r | |
352 | - set "install_path=%output_path%\install"\r | |
353 | - set "third_party_dir=C:\third-party"\r | |
354 | \r | |
7c673cae | 355 | after_test:\r |
37b3c998 | 356 | - echo "Current directory:"\r |
7c673cae FG |
357 | - cd\r |
358 | - dir\r | |
359 | - md dist\r | |
37b3c998 TL |
360 | - if "%build_type%"=="Release" (cmake "-DCMAKE_INSTALL_PREFIX=%install_path%" -P "%build_path%/cmake_install.cmake")\r |
361 | - dir dist\\r | |
362 | - echo "Output directory:"\r | |
363 | - dir %output_path%\r | |
364 | - echo "Build directory:"\r | |
365 | - dir %build_path%\r | |
366 | - if "%build_type%"=="Release" (echo "Install directory:")\r | |
367 | - if "%build_type%"=="Release" (dir %install_path%)\r | |
368 | - if "%build_type%"=="Release" (dir %install_path%\bin)\r | |
369 | - if "%build_type%"=="Release" (dir %install_path%\include)\r | |
370 | - if "%build_type%"=="Release" (dir %install_path%\lib)\r | |
371 | - if "%build_type%"=="Release" (copy "%install_path%"\include dist\)\r | |
372 | - if "%build_type%"=="Release" (copy "%install_path%"\bin\*.exe dist\)\r | |
373 | - echo "Dist directory:"\r | |
7c673cae FG |
374 | - dir dist\\r |
375 | \r | |
376 | matrix:\r | |
377 | fast_finish: false\r | |
378 | \r | |
379 | cache:\r | |
380 | - C:\mingw-builds -> mingw.cmd\r | |
381 | - C:\third-party -> **\CMakeLists.txt\r | |
382 | - C:\ssl\r | |
383 | \r | |
384 | artifacts:\r | |
385 | - path: dist\*\r | |
386 | \r |