version: 1.0.{build}
environment:
  matrix:
  - COMPILER: "gcc"
    PLATFORM: "mingw64"
  - COMPILER: "gcc"
    PLATFORM: "mingw32"
  - COMPILER: "visual"
    CONFIGURATION: "Debug"
    PLATFORM: "x64"
  - COMPILER: "visual"
    CONFIGURATION: "Debug"
    PLATFORM: "Win32"
  - COMPILER: "visual"
    CONFIGURATION: "Release"
    PLATFORM: "x64"
  - COMPILER: "visual"
    CONFIGURATION: "Release"
    PLATFORM: "Win32"
  - COMPILER: "gcc"
    PLATFORM: "clang"

install:
  - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
  - MKDIR bin
  - if [%COMPILER%]==[gcc] SET PATH_ORIGINAL=%PATH%
  - if [%COMPILER%]==[gcc] (
      SET "PATH_MINGW32=c:\MinGW\bin;c:\MinGW\usr\bin" &&
      SET "PATH_MINGW64=c:\msys64\mingw64\bin;c:\msys64\usr\bin" &&
      COPY C:\MinGW\bin\mingw32-make.exe C:\MinGW\bin\make.exe &&
      COPY C:\MinGW\bin\gcc.exe C:\MinGW\bin\cc.exe
    ) else (
      IF [%PLATFORM%]==[x64] (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;")
    )

build_script:
  - if [%PLATFORM%]==[mingw32] SET PATH=%PATH_MINGW32%;%PATH_ORIGINAL%
  - if [%PLATFORM%]==[mingw64] SET PATH=%PATH_MINGW64%;%PATH_ORIGINAL%
  - if [%PLATFORM%]==[clang] SET PATH=%PATH_MINGW64%;%PATH_ORIGINAL%
  - ECHO *** &&
      ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION% &&
      ECHO ***
  - if [%PLATFORM%]==[clang] (clang -v)
  - if [%COMPILER%]==[gcc] (gcc -v)
  - if [%COMPILER%]==[gcc] (
      echo ----- &&
      make -v &&
      echo ----- &&
      if not [%PLATFORM%]==[clang] (
        make -C programs lz4 &&
        make -C tests fullbench &&
        make -C tests fuzzer &&
        make -C lib lib V=1
      ) ELSE (
        make -C programs lz4 CC=clang MOREFLAGS="--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion" &&
        make -C tests fullbench CC=clang MOREFLAGS="--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion" &&
        make -C tests fuzzer CC=clang MOREFLAGS="--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion" &&
        make -C lib lib CC=clang MOREFLAGS="--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion"
      )
    )
  - if [%COMPILER%]==[gcc] if not [%PLATFORM%]==[clang] (
      MKDIR bin\dll bin\static bin\example bin\include &&
      COPY tests\fullbench.c bin\example\ &&
      COPY lib\xxhash.c bin\example\ &&
      COPY lib\xxhash.h bin\example\ &&
      COPY lib\lz4.h bin\include\ &&
      COPY lib\lz4hc.h bin\include\ &&
      COPY lib\lz4frame.h bin\include\ &&
      COPY lib\liblz4.a bin\static\liblz4_static.lib &&
      COPY lib\dll\* bin\dll\ &&
      COPY lib\dll\example\Makefile bin\example\ &&
      COPY lib\dll\example\fullbench-dll.* bin\example\ &&
      COPY lib\dll\example\README.md bin\ &&
      COPY programs\lz4.exe bin\lz4.exe
    )
  - if [%COMPILER%]==[gcc] if [%PLATFORM%]==[mingw64] (
      7z.exe a -bb1 bin\lz4_x64.zip NEWS .\bin\lz4.exe .\bin\README.md .\bin\example .\bin\dll .\bin\static .\bin\include &&
      appveyor PushArtifact bin\lz4_x64.zip
    )
  - if [%COMPILER%]==[gcc] if [%PLATFORM%]==[mingw32] (
      7z.exe a -bb1 bin\lz4_x86.zip NEWS .\bin\lz4.exe .\bin\README.md .\bin\example .\bin\dll .\bin\static .\bin\include &&
      appveyor PushArtifact bin\lz4_x86.zip
    )
  - if [%COMPILER%]==[gcc] (COPY tests\*.exe programs\)
  - if [%COMPILER%]==[visual] (
      ECHO *** &&
      ECHO *** Building Visual Studio 2010 %PLATFORM%\%CONFIGURATION% &&
      ECHO *** &&
      msbuild "build\VS2010\lz4.sln" %ADDITIONALPARAM% /m /verbosity:minimal /property:PlatformToolset=v100 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /p:EnableWholeProgramOptimization=true /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
      ECHO *** &&
      ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
      ECHO *** &&
      msbuild "build\VS2010\lz4.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" &&
      ECHO *** &&
      ECHO *** Building Visual Studio 2013 %PLATFORM%\%CONFIGURATION% &&
      ECHO *** &&
      msbuild "build\VS2010\lz4.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" &&
      ECHO *** &&
      ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
      ECHO *** &&
      msbuild "build\VS2010\lz4.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" &&
      COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe programs\
    )

test_script:
  - ECHO *** &&
      ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION% &&
      ECHO ***
  - if not [%COMPILER%]==[unknown] (
      CD programs &&
      lz4 -h &&
      lz4 -i1b lz4.exe &&
      lz4 -i1b5 lz4.exe &&
      lz4 -i1b10 lz4.exe &&
      lz4 -i1b15 lz4.exe &&
      echo ------- lz4 tested ------- &&
      fullbench.exe -i1 fullbench.exe &&
      echo trying to launch fuzzer.exe &&
      fuzzer.exe -v -T30s
    )

artifacts:
  - path: bin\lz4_x64.zip
  - path: bin\lz4_x86.zip

deploy:
- provider: GitHub
  artifact: bin\lz4_x64.zip
  auth_token:
    secure: w6UJaGie0qbZvffr/fqyhO/Vj8rMiQWnv9a8qm3gxfngdHDTMT42wYupqJpIExId
  force_update: true
  prerelease: true
  on:
    COMPILER: gcc
    PLATFORM: "mingw64"
    appveyor_repo_tag: true

- provider: GitHub
  artifact: bin\lz4_x86.zip
  auth_token:
    secure: w6UJaGie0qbZvffr/fqyhO/Vj8rMiQWnv9a8qm3gxfngdHDTMT42wYupqJpIExId
  force_update: true
  prerelease: true
  on:
    COMPILER: gcc
    PLATFORM: "mingw32"
    appveyor_repo_tag: true
