1-
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 allzstd MOREFLAGS=-static && make -C tests test-symbols fullbench-dll fullbench-lib"
13      ARTIFACT: "true"
14      BUILD:    "true"
15    - COMPILER: "gcc"
16      HOST:     "mingw"
17      PLATFORM: "x86"
18      SCRIPT:   "make allzstd MOREFLAGS=-static"
19      ARTIFACT: "true"
20      BUILD:    "true"
21    - COMPILER: "clang"
22      HOST:     "mingw"
23      PLATFORM: "x64"
24      SCRIPT:   "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make allzstd"
25      BUILD:    "true"
26
27    - COMPILER: "gcc"
28      HOST:     "mingw"
29      PLATFORM: "x64"
30      SCRIPT:   ""
31      TEST:     "cmake"
32
33    - COMPILER: "visual"
34      HOST:     "visual"
35      PLATFORM: "x64"
36      CONFIGURATION: "Debug"
37    - COMPILER: "visual"
38      HOST:     "visual"
39      PLATFORM: "Win32"
40      CONFIGURATION: "Debug"
41    - COMPILER: "visual"
42      HOST:     "visual"
43      PLATFORM: "x64"
44      CONFIGURATION: "Release"
45    - COMPILER: "visual"
46      HOST:     "visual"
47      PLATFORM: "Win32"
48      CONFIGURATION: "Release"
49
50  install:
51  - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
52  - SET PATH_ORIGINAL=%PATH%
53  - if [%HOST%]==[mingw] (
54      SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
55      SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
56      COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
57      COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe
58    )
59  - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
60      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;"
61    )
62
63  build_script:
64  - if [%HOST%]==[mingw] (
65      ( if [%PLATFORM%]==[x64] (
66        SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
67      ) else if [%PLATFORM%]==[x86] (
68        SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
69      ) )
70    )
71  - if [%HOST%]==[mingw] if [%BUILD%]==[true] (
72      make -v &&
73      sh -c "%COMPILER% -v" &&
74      ECHO Building zlib to static link &&
75      SET "CC=%COMPILER%" &&
76      sh -c "cd .. && git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib" &&
77      sh -c "cd ../zlib && make -f win32/Makefile.gcc libz.a"
78      ECHO Building zstd &&
79      SET "CPPFLAGS=-I../../zlib" &&
80      SET "LDFLAGS=../../zlib/libz.a" &&
81      sh -c "%SCRIPT%" &&
82      ( if [%COMPILER%]==[gcc] if [%ARTIFACT%]==[true]
83          lib\dll\example\build_package.bat &&
84          make -C programs DEBUGFLAGS= clean zstd &&
85          cd programs\ && 7z a -tzip -mx9 zstd-win-binary-%PLATFORM%.zip zstd.exe &&
86          appveyor PushArtifact zstd-win-binary-%PLATFORM%.zip &&
87          cp zstd.exe ..\bin\zstd.exe &&
88          cd ..\bin\ && 7z a -tzip -mx9 zstd-win-release-%PLATFORM%.zip * &&
89          appveyor PushArtifact zstd-win-release-%PLATFORM%.zip
90      )
91    )
92  - if [%HOST%]==[visual] (
93      ECHO *** &&
94      ECHO *** Building Visual Studio 2008 %PLATFORM%\%CONFIGURATION% in %APPVEYOR_BUILD_FOLDER% &&
95      ECHO *** &&
96      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" &&
97      DIR build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
98      MD5sum build/VS2008/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
99      COPY build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2008_%PLATFORM%_%CONFIGURATION%.exe &&
100      ECHO *** &&
101      ECHO *** Building Visual Studio 2010 %PLATFORM%\%CONFIGURATION% &&
102      ECHO *** &&
103      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" &&
104      DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
105      MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
106      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" &&
107      DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
108      MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
109      COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2010_%PLATFORM%_%CONFIGURATION%.exe &&
110      ECHO *** &&
111      ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
112      ECHO *** &&
113      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" &&
114      DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
115      MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
116      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" &&
117      DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
118      MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
119      COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2012_%PLATFORM%_%CONFIGURATION%.exe &&
120      ECHO *** &&
121      ECHO *** Building Visual Studio 2013 %PLATFORM%\%CONFIGURATION% &&
122      ECHO *** &&
123      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" &&
124      DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
125      MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
126      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" &&
127      DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
128      MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
129      COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2013_%PLATFORM%_%CONFIGURATION%.exe &&
130      ECHO *** &&
131      ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
132      ECHO *** &&
133      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" &&
134      DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
135      MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
136      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" &&
137      DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
138      MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
139      COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
140      COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
141    )
142
143  test_script:
144  - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
145  - SET "CC=gcc"
146  - SET "CXX=g++"
147  - if [%TEST%]==[cmake] (
148      mkdir build\cmake\build &&
149      cd build\cmake\build &&
150      cmake -G "Visual Studio 14 2015 Win64" .. &&
151      cd ..\..\.. &&
152      make clean
153    )
154  - SET "FUZZERTEST=-T30s"
155  - if [%HOST%]==[visual] if [%CONFIGURATION%]==[Release] (
156      CD tests &&
157      SET ZSTD=./zstd.exe &&
158      sh -e playTests.sh --test-large-data &&
159      fullbench.exe -i1 &&
160      fullbench.exe -i1 -P0 &&
161      fuzzer_VS2008_%PLATFORM%_Release.exe %FUZZERTEST% &&
162      fuzzer_VS2010_%PLATFORM%_Release.exe %FUZZERTEST% &&
163      fuzzer_VS2012_%PLATFORM%_Release.exe %FUZZERTEST% &&
164      fuzzer_VS2013_%PLATFORM%_Release.exe %FUZZERTEST% &&
165      fuzzer_VS2015_%PLATFORM%_Release.exe %FUZZERTEST%
166    )
167
168-
169  version: 1.0.{build}
170  environment:
171    matrix:
172    - COMPILER: "gcc"
173      HOST:     "mingw"
174      PLATFORM: "x64"
175      SCRIPT:   "make allzstd"
176    - COMPILER: "gcc"
177      HOST:     "mingw"
178      PLATFORM: "x86"
179      SCRIPT:   "make allzstd"
180    - COMPILER: "clang"
181      HOST:     "mingw"
182      PLATFORM: "x64"
183      SCRIPT:   "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make allzstd"
184
185    - COMPILER: "visual"
186      HOST:     "visual"
187      PLATFORM: "x64"
188      CONFIGURATION: "Debug"
189    - COMPILER: "visual"
190      HOST:     "visual"
191      PLATFORM: "Win32"
192      CONFIGURATION: "Debug"
193    - COMPILER: "visual"
194      HOST:     "visual"
195      PLATFORM: "x64"
196      CONFIGURATION: "Release"
197    - COMPILER: "visual"
198      HOST:     "visual"
199      PLATFORM: "Win32"
200      CONFIGURATION: "Release"
201
202  install:
203  - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
204  - SET PATH_ORIGINAL=%PATH%
205  - if [%HOST%]==[mingw] (
206      SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
207      SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
208      COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
209      COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe
210    )
211  - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
212      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;"
213    )
214
215  build_script:
216  - ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
217  - if [%HOST%]==[mingw] (
218      ( if [%PLATFORM%]==[x64] (
219        SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
220      ) else if [%PLATFORM%]==[x86] (
221        SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
222      ) ) &&
223      make -v &&
224      sh -c "%COMPILER% -v" &&
225      set "CC=%COMPILER%" &&
226      sh -c "%SCRIPT%"
227    )
228  - if [%HOST%]==[visual] (
229      ECHO *** &&
230      ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
231      ECHO *** &&
232      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" &&
233      DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
234      MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
235      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" &&
236      DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
237      MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
238      COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
239      COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
240    )
241