blob: 4aad71469ae9eb1000e507b1cd9884d059230891 [file] [log] [blame]
Sean Purcell5a2b8572017-03-14 15:59:57 -07001-
2 version: 1.0.{build}
3 branches:
4 only:
5 - dev
6 - master
7 environment:
8 matrix:
9 - COMPILER: "gcc"
10 HOST: "mingw"
11 PLATFORM: "x64"
12 SCRIPT: "make allarch && make -C tests test-symbols fullbench-dll fullbench-lib"
13 ARTIFACT: "true"
Sean Purcell8d2c6392017-03-24 11:45:02 -070014 BUILD: "true"
Sean Purcell5a2b8572017-03-14 15:59:57 -070015 - COMPILER: "gcc"
16 HOST: "mingw"
17 PLATFORM: "x86"
Sean Purcell5a61f362017-04-14 11:33:04 -070018 SCRIPT: "make allarch"
Sean Purcell5a2b8572017-03-14 15:59:57 -070019 ARTIFACT: "true"
Sean Purcell8d2c6392017-03-24 11:45:02 -070020 BUILD: "true"
Sean Purcell5a2b8572017-03-14 15:59:57 -070021 - COMPILER: "clang"
22 HOST: "mingw"
23 PLATFORM: "x64"
24 SCRIPT: "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make allarch"
Sean Purcell8d2c6392017-03-24 11:45:02 -070025 BUILD: "true"
inikep5e334be2016-05-18 09:07:28 +020026
Sean Purcell5a2b8572017-03-14 15:59:57 -070027 - COMPILER: "gcc"
28 HOST: "mingw"
29 PLATFORM: "x64"
30 SCRIPT: ""
31 TEST: "cmake"
32
33 - COMPILER: "gcc"
34 HOST: "mingw"
35 PLATFORM: "x64"
36 SCRIPT: ""
37 TEST: "pzstd"
38
39 - COMPILER: "visual"
40 HOST: "visual"
41 PLATFORM: "x64"
42 CONFIGURATION: "Debug"
43 - COMPILER: "visual"
44 HOST: "visual"
45 PLATFORM: "Win32"
46 CONFIGURATION: "Debug"
47 - COMPILER: "visual"
48 HOST: "visual"
49 PLATFORM: "x64"
50 CONFIGURATION: "Release"
51 - COMPILER: "visual"
52 HOST: "visual"
53 PLATFORM: "Win32"
54 CONFIGURATION: "Release"
55
56 install:
inikep96abb5a2016-05-19 15:50:58 +020057 - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
Sean Purcell5a2b8572017-03-14 15:59:57 -070058 - SET PATH_ORIGINAL=%PATH%
59 - if [%HOST%]==[mingw] (
Sean Purcellfcc55cc2017-03-29 13:08:10 -070060 SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
61 SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
62 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
63 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe
Sean Purcell5a2b8572017-03-14 15:59:57 -070064 )
65 - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
66 SET ADDITIONALPARAM=/p:LibraryPath="C:\Program Files\Microsoft SDKs\Windows\v7.1\lib\x64;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft Visual Studio 10.0\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\lib\amd64;"
inikep5e334be2016-05-18 09:07:28 +020067 )
inikep7c4d0412016-05-16 14:48:04 +020068
Sean Purcell5a2b8572017-03-14 15:59:57 -070069 build_script:
70 - if [%HOST%]==[mingw] (
71 ( if [%PLATFORM%]==[x64] (
72 SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
73 ) else if [%PLATFORM%]==[x86] (
74 SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
Sean Purcell8d2c6392017-03-24 11:45:02 -070075 ) )
76 )
77 - if [%HOST%]==[mingw] if [%BUILD%]==[true] (
inikep0a0403d2016-07-19 12:23:32 +020078 make -v &&
Sean Purcell5a2b8572017-03-14 15:59:57 -070079 sh -c "%COMPILER% -v" &&
Sean Purcell8d2c6392017-03-24 11:45:02 -070080 ECHO Building zlib to static link &&
81 SET "CC=%COMPILER%" &&
82 sh -c "cd .. && git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib" &&
83 sh -c "cd ../zlib && make -f win32/Makefile.gcc libz.a"
84 ECHO Building zstd &&
85 SET "CPPFLAGS=-I../../zlib" &&
86 SET "LDFLAGS=../../zlib/libz.a" &&
87 sh -c "%SCRIPT%" &&
Sean Purcellfcc55cc2017-03-29 13:08:10 -070088 ( if [%COMPILER%]==[gcc] if [%ARTIFACT%]==[true]
89 lib\dll\example\build_package.bat &&
Sean Purcelle128ac02017-04-06 10:15:32 -070090 make -C programs DEBUGFLAGS= clean zstd &&
Sean Purcell17c12cb2017-04-06 10:34:09 -070091 cp programs\zstd.exe zstd_%PLATFORM%.exe &&
92 appveyor PushArtifact zstd_%PLATFORM%.exe &&
Sean Purcelle128ac02017-04-06 10:15:32 -070093 cp programs\zstd.exe bin\zstd.exe &&
Sean Purcellfcc55cc2017-03-29 13:08:10 -070094 make -C programs DEBUGFLAGS= clean zstdmt &&
95 cp programs\zstd.exe bin\zstdmt.exe &&
96 cd bin\ && 7z a -tzip zstd-win-release-%PLATFORM%.zip * &&
97 appveyor PushArtifact zstd-win-release-%PLATFORM%.zip
98 )
inikepf3302152016-05-18 16:38:36 +020099 )
Sean Purcell5a2b8572017-03-14 15:59:57 -0700100 - if [%HOST%]==[visual] (
inikep5e334be2016-05-18 09:07:28 +0200101 ECHO *** &&
inikep70ce21f2016-08-10 14:17:28 +0200102 ECHO *** Building Visual Studio 2008 %PLATFORM%\%CONFIGURATION% in %APPVEYOR_BUILD_FOLDER% &&
inikep5e334be2016-05-18 09:07:28 +0200103 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200104 msbuild "build\VS2008\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v90 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
105 DIR build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
106 MD5sum build/VS2008/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
107 COPY build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2008_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200108 ECHO *** &&
109 ECHO *** Building Visual Studio 2010 %PLATFORM%\%CONFIGURATION% &&
110 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200111 msbuild "build\VS2010\zstd.sln" %ADDITIONALPARAM% /m /verbosity:minimal /property:PlatformToolset=v100 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100112 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
113 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200114 msbuild "build\VS2010\zstd.sln" %ADDITIONALPARAM% /m /verbosity:minimal /property:PlatformToolset=v100 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100115 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
116 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
117 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2010_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200118 ECHO *** &&
119 ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
120 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200121 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100122 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
123 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200124 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100125 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
126 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
127 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2012_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200128 ECHO *** &&
129 ECHO *** Building Visual Studio 2013 %PLATFORM%\%CONFIGURATION% &&
130 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200131 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v120 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100132 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
133 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200134 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v120 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100135 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
136 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
137 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2013_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200138 ECHO *** &&
139 ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
140 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200141 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100142 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
143 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200144 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100145 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
146 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
147 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
148 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
inikep5e334be2016-05-18 09:07:28 +0200149 )
inikep7c4d0412016-05-16 14:48:04 +0200150
Sean Purcell5a2b8572017-03-14 15:59:57 -0700151 test_script:
inikep96abb5a2016-05-19 15:50:58 +0200152 - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
Sean Purcelldd79c5c2017-03-29 14:40:11 -0700153 - SET "CC=gcc"
154 - SET "CXX=g++"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700155 - if [%TEST%]==[cmake] (
Przemyslaw Skibinskicb8d2d92017-02-10 12:01:14 +0100156 mkdir build\cmake\build &&
157 cd build\cmake\build &&
158 cmake -G "Visual Studio 14 2015 Win64" .. &&
159 cd ..\..\.. &&
Sean Purcell5a2b8572017-03-14 15:59:57 -0700160 make clean
161 )
162 - if [%TEST%]==[pzstd] (
Przemyslaw Skibinskicb8d2d92017-02-10 12:01:14 +0100163 make -C contrib\pzstd googletest-mingw64 &&
164 make -C contrib\pzstd pzstd.exe &&
165 make -C contrib\pzstd tests &&
166 make -C contrib\pzstd check &&
167 make -C contrib\pzstd clean
inikep5e334be2016-05-18 09:07:28 +0200168 )
Sean Purcell4cfed3c2017-03-21 14:21:00 -0700169 - SET "FUZZERTEST=-T1mn"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700170 - if [%HOST%]==[visual] if [%CONFIGURATION%]==[Release] (
inikep7feafdd2016-08-18 15:17:18 +0200171 CD tests &&
inikep1dcb2ff2016-05-30 11:33:52 +0200172 SET ZSTD=./zstd.exe &&
inikep1dcb2ff2016-05-30 11:33:52 +0200173 sh -e playTests.sh --test-large-data &&
inikepd57b4182016-05-31 11:46:16 +0200174 fullbench.exe -i1 &&
175 fullbench.exe -i1 -P0 &&
inikep7feafdd2016-08-18 15:17:18 +0200176 fuzzer_VS2008_%PLATFORM%_Release.exe %FUZZERTEST% &&
177 fuzzer_VS2010_%PLATFORM%_Release.exe %FUZZERTEST% &&
178 fuzzer_VS2012_%PLATFORM%_Release.exe %FUZZERTEST% &&
179 fuzzer_VS2013_%PLATFORM%_Release.exe %FUZZERTEST% &&
180 fuzzer_VS2015_%PLATFORM%_Release.exe %FUZZERTEST%
inikep5e334be2016-05-18 09:07:28 +0200181 )
inikepe9ae30a2016-09-12 14:17:26 +0200182
Sean Purcell5a2b8572017-03-14 15:59:57 -0700183-
184 version: 1.0.{build}
Sean Purcell5a2b8572017-03-14 15:59:57 -0700185 environment:
186 matrix:
187 - COMPILER: "gcc"
188 HOST: "mingw"
189 PLATFORM: "x64"
190 SCRIPT: "make allarch"
191 - COMPILER: "gcc"
192 HOST: "mingw"
193 PLATFORM: "x86"
Sean Purcell5a61f362017-04-14 11:33:04 -0700194 SCRIPT: "make allarch"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700195 - COMPILER: "clang"
196 HOST: "mingw"
197 PLATFORM: "x64"
198 SCRIPT: "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make allarch"
Sean Purcelldaec40d2017-03-07 12:08:15 -0800199
Sean Purcell5a2b8572017-03-14 15:59:57 -0700200 - COMPILER: "visual"
201 HOST: "visual"
202 PLATFORM: "x64"
203 CONFIGURATION: "Debug"
204 - COMPILER: "visual"
205 HOST: "visual"
206 PLATFORM: "Win32"
207 CONFIGURATION: "Debug"
208 - COMPILER: "visual"
209 HOST: "visual"
210 PLATFORM: "x64"
211 CONFIGURATION: "Release"
212 - COMPILER: "visual"
213 HOST: "visual"
214 PLATFORM: "Win32"
215 CONFIGURATION: "Release"
inikepe9ae30a2016-09-12 14:17:26 +0200216
Sean Purcell5a2b8572017-03-14 15:59:57 -0700217 install:
218 - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
219 - SET PATH_ORIGINAL=%PATH%
220 - if [%HOST%]==[mingw] (
Sean Purcellad8da882017-04-13 14:40:06 -0700221 SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
222 SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
223 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
224 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe
Sean Purcell5a2b8572017-03-14 15:59:57 -0700225 )
226 - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
227 SET ADDITIONALPARAM=/p:LibraryPath="C:\Program Files\Microsoft SDKs\Windows\v7.1\lib\x64;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft Visual Studio 10.0\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\lib\amd64;"
228 )
229
230 build_script:
231 - ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
232 - if [%HOST%]==[mingw] (
233 ( if [%PLATFORM%]==[x64] (
234 SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
235 ) else if [%PLATFORM%]==[x86] (
236 SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
237 ) ) &&
238 make -v &&
239 sh -c "%COMPILER% -v" &&
Sean Purcell5a61f362017-04-14 11:33:04 -0700240 set "CC=%COMPILER%" &&
241 sh -c "%SCRIPT%"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700242 )
243 - if [%HOST%]==[visual] (
244 ECHO *** &&
245 ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
246 ECHO *** &&
247 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
248 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
249 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
250 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
251 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
252 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
253 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
254 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
255 )