]> git.proxmox.com Git - ceph.git/blame - ceph/src/civetweb/appveyor.yml
import 12.2.13 release
[ceph.git] / ceph / src / civetweb / appveyor.yml
CommitLineData
7c673cae
FG
1version: '{build}'\r
2\r
7c673cae 3\r
37b3c998
TL
4build:\r
5# no automatic build in script mode\r
6\r
7\r
8skip_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
17environment:\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
227install:\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
261before_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
336build_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
343test_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 355after_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
376matrix:\r
377 fast_finish: false\r
378\r
379cache:\r
380 - C:\mingw-builds -> mingw.cmd\r
381 - C:\third-party -> **\CMakeLists.txt\r
382 - C:\ssl\r
383\r
384artifacts:\r
385 - path: dist\*\r
386\r