1version: 1.0.{build} 2environment: 3 matrix: 4 - COMPILER: "gcc" 5 PLATFORM: "mingw32" 6 - COMPILER: "visual" 7 CONFIGURATION: "Debug" 8 PLATFORM: "Win32" 9 - COMPILER: "visual" 10 CONFIGURATION: "Release" 11 PLATFORM: "x64" 12 - COMPILER: "visual" 13 CONFIGURATION: "Release" 14 PLATFORM: "Win32" 15 - COMPILER: "clang" 16 PLATFORM: "mingw64" 17 - COMPILER: "gcc" 18 PLATFORM: "mingw64" 19 20install: 21 - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION% 22 - MKDIR bin 23 - if [%COMPILER%]==[visual] ( 24 if [%PLATFORM%]==[x64] ( 25 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;" 26 ) 27 ) else ( 28 SET "PATH_MINGW32=c:\MinGW\bin;c:\MinGW\usr\bin" && 29 SET "PATH_MINGW64=c:\msys64\mingw64\bin;c:\msys64\usr\bin" && 30 COPY C:\MinGW\bin\mingw32-make.exe C:\MinGW\bin\make.exe && 31 COPY C:\MinGW\bin\gcc.exe C:\MinGW\bin\cc.exe 32 ) 33 34build_script: 35 - if [%PLATFORM%]==[mingw32] SET PATH=%PATH_MINGW32%;%PATH% 36 - if [%PLATFORM%]==[mingw64] SET PATH=%PATH_MINGW64%;%PATH% 37 - ECHO *** && 38 ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION% && 39 ECHO *** 40 - if [%COMPILER%]==[gcc] ( 41 echo ----- %TIME% && 42 gcc -v && 43 make -v && 44 echo ----- && 45 make -j -C programs lz4 V=1 && 46 make -j -C tests fullbench V=1 && 47 make -j -C tests fuzzer V=1 && 48 make -j -C lib lib V=1 49 ) 50 - if [%COMPILER%]==[clang] ( 51 echo ----- %TIME% && 52 clang -v && 53 make -v && 54 echo ----- && 55 set CFLAGS="--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion" && 56 make -j -C programs lz4 CC=clang V=1 && 57 make -j -C tests fullbench CC=clang V=1 && 58 make -j -C tests fuzzer CC=clang V=1 && 59 make -j -C lib lib CC=clang V=1 60 ) 61 - if [%COMPILER%]==[gcc] ( 62 MKDIR bin\dll bin\static bin\example bin\include && 63 COPY tests\fullbench.c bin\example\ && 64 COPY lib\xxhash.c bin\example\ && 65 COPY lib\xxhash.h bin\example\ && 66 COPY lib\lz4.h bin\include\ && 67 COPY lib\lz4hc.h bin\include\ && 68 COPY lib\lz4frame.h bin\include\ && 69 COPY lib\liblz4.a bin\static\liblz4_static.lib && 70 COPY lib\liblz4.dll* bin\dll\ && 71 COPY lib\dll\example\Makefile bin\example\ && 72 COPY lib\dll\example\fullbench-dll.* bin\example\ && 73 COPY lib\dll\example\README.md bin\ && 74 COPY programs\lz4.exe bin\lz4.exe 75 ) 76 - if [%COMPILER%]==[gcc] if [%PLATFORM%]==[mingw64] ( 77 7z.exe a -bb1 bin\lz4_x64.zip NEWS .\bin\lz4.exe .\bin\README.md .\bin\example .\bin\dll .\bin\static .\bin\include && 78 appveyor PushArtifact bin\lz4_x64.zip 79 ) 80 - if [%COMPILER%]==[gcc] if [%PLATFORM%]==[mingw32] ( 81 7z.exe a -bb1 bin\lz4_x86.zip NEWS .\bin\lz4.exe .\bin\README.md .\bin\example .\bin\dll .\bin\static .\bin\include && 82 appveyor PushArtifact bin\lz4_x86.zip 83 ) 84 - if [%COMPILER%]==[visual] ( 85 ECHO *** %TIME% && 86 ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% && 87 ECHO *** && 88 msbuild "build\VS2022\lz4.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /property:Optimize=false /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" && 89 ECHO *** %TIME% && 90 ECHO *** Building Visual Studio 2013 %PLATFORM%\%CONFIGURATION% && 91 ECHO *** && 92 msbuild "build\VS2022\lz4.sln" /m /verbosity:minimal /property:PlatformToolset=v120 /property:Optimize=false /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" && 93 COPY build\VS2022\bin\%PLATFORM%_%CONFIGURATION%\*.exe programs\ 94 ) else ( 95 COPY tests\*.exe programs\ 96 ) 97 98test_script: 99 - ECHO *** %TIME% && 100 ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION% && 101 ECHO *** 102 - if not [%COMPILER%]==[unknown] ( 103 CD programs && 104 lz4 -h && 105 lz4 -i1b lz4.exe && 106 lz4 -i1b5 lz4.exe && 107 lz4 -i1b10 lz4.exe && 108 lz4 -i1b15 lz4.exe && 109 echo ------- lz4 tested ------- && 110 fullbench.exe -i0 fullbench.exe && 111 echo Launching test program fuzzer.exe && 112 fuzzer.exe -v -T20s 113 ) 114 - ECHO *** %TIME% 115 116artifacts: 117 - path: bin\lz4_x64.zip 118 - path: bin\lz4_x86.zip 119 120deploy: 121- provider: GitHub 122 artifact: bin\lz4_x64.zip 123 auth_token: 124 secure: w6UJaGie0qbZvffr/fqyhO/Vj8rMiQWnv9a8qm3gxfngdHDTMT42wYupqJpIExId 125 force_update: true 126 prerelease: true 127 on: 128 COMPILER: gcc 129 PLATFORM: "mingw64" 130 appveyor_repo_tag: true 131 132- provider: GitHub 133 artifact: bin\lz4_x86.zip 134 auth_token: 135 secure: w6UJaGie0qbZvffr/fqyhO/Vj8rMiQWnv9a8qm3gxfngdHDTMT42wYupqJpIExId 136 force_update: true 137 prerelease: true 138 on: 139 COMPILER: gcc 140 PLATFORM: "mingw32" 141 appveyor_repo_tag: true 142