os: Visual Studio 2015

environment:
  matrix:
    #- platform: x64
    #  target: x86_64-pc-windows-msvc
    #  qtdir: C:\Qt\5.10.1\msvc2015_64
    #  sysdirname: SysWOW64

    - platform: x86
      target: i686-pc-windows-msvc
      qtdir: C:\Qt\5.10.1\msvc2015
      sysdirname: system32

cache:
  CGAL-4.13-Setup.exe -> appveyor.yml

install:
  - if "%PLATFORM%" == "x86"
    call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
  - if "%PLATFORM%" == "x64"
    call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
  - if "%PLATFORM%" == "x64"
    call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
  - if not exist CGAL-4.13-Setup.exe
      appveyor DownloadFile https://github.com/CGAL/cgal/releases/download/releases/CGAL-4.13/CGAL-4.13-Setup.exe -FileName CGAL-4.13-Setup.exe
  - CGAL-4.13-Setup.exe /S /D=%APPVEYOR_BUILD_FOLDER%\CGAL-4.13
  - cd CGAL-4.13
  - mkdir build
  - cd build
  - if "%PLATFORM%" == "x86"
    cmake -G "Visual Studio 14 2015" ../ -DBOOST_INCLUDEDIR=C:\Libraries\boost_1_66_0
  - if "%PLATFORM%" == "x64"
    cmake -G "Visual Studio 14 2015 Win64" ../ -DBOOST_INCLUDEDIR=C:\Libraries\boost_1_66_0
  - msbuild /p:Configuration=Release ALL_BUILD.vcxproj
  - cd %APPVEYOR_BUILD_FOLDER%

build: false

test_script:
  - set PATH=%PATH%;%QTDIR%\bin
  - qmake "BOOST_INCLUDEDIR=C:\Libraries\boost_1_66_0" "CGAL_DIR=%APPVEYOR_BUILD_FOLDER%\CGAL-4.13"
  - nmake -f Makefile.Release

after_test:
  # Check deps by Dependency Walker
  # Check Qt plugins by following https://wiki.qt.io/Deploy_an_Application_on_Windows
  - set TAG=%APPVEYOR_REPO_TAG_NAME%
  - if "%TAG%" == ""
    set TAG=unstable
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\release\dust3d.exe
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\CGAL-4.13\build\bin\Release\CGAL-vc140-mt-4.13.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\CGAL-4.13\auxiliary\gmp\lib\libgmp-10.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\CGAL-4.13\auxiliary\gmp\lib\libmpfr-4.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\ci\opengl32sw.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\ci\libeay32.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\ci\ssleay32.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %QTDIR%\bin\Qt5Widgets.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %QTDIR%\bin\Qt5Gui.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %QTDIR%\bin\Qt5Core.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip %QTDIR%\bin\Qt5Network.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\%PLATFORM%\Microsoft.VC140.CRT\msvcp140.dll"
  - 7z a dust3d-%TAG%-%PLATFORM%.zip "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\%PLATFORM%\Microsoft.VC140.CRT\vcruntime140.dll"
  - mkdir platforms
  - copy %QTDIR%\plugins\platforms\qwindows.dll %APPVEYOR_BUILD_FOLDER%\platforms\qwindows.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip -r %APPVEYOR_BUILD_FOLDER%\platforms\
  - mkdir imageformats
  - copy %QTDIR%\plugins\imageformats\qjpeg.dll %APPVEYOR_BUILD_FOLDER%\imageformats\qjpeg.dll
  - 7z a dust3d-%TAG%-%PLATFORM%.zip -r %APPVEYOR_BUILD_FOLDER%\imageformats\
  - mkdir test
  - 7z e dust3d-%TAG%-%PLATFORM%.zip -o%APPVEYOR_BUILD_FOLDER%\test *.* -r
  - cd /d %APPVEYOR_BUILD_FOLDER%\test
  - dust3d.exe :/resources/model-addax.ds3 -o addax.obj
  - dust3d.exe :/resources/model-addax.ds3 -o addax.fbx
  - dust3d.exe :/resources/model-addax.ds3 -o addax.glb
  - dust3d.exe :/resources/model-bicycle.ds3 -o bicycle.obj
  - dust3d.exe :/resources/model-bicycle.ds3 -o bicycle.fbx
  - dust3d.exe :/resources/model-bicycle.ds3 -o bicycle.glb
  - dust3d.exe :/resources/model-bob.ds3 -o bob.obj
  - dust3d.exe :/resources/model-bob.ds3 -o bob.fbx
  - dust3d.exe :/resources/model-bob.ds3 -o bob.glb
  - dust3d.exe :/resources/model-dog-head.ds3 -o dog-head.obj
  - dust3d.exe :/resources/model-dog-head.ds3 -o dog-head.fbx
  - dust3d.exe :/resources/model-dog-head.ds3 -o dog-head.glb
  - dust3d.exe :/resources/model-meerkat.ds3 -o meerkat.obj
  - dust3d.exe :/resources/model-meerkat.ds3 -o meerkat.fbx
  - dust3d.exe :/resources/model-meerkat.ds3 -o meerkat.glb
  - dust3d.exe :/resources/model-mosquito.ds3 -o mosquito.obj
  - dust3d.exe :/resources/model-mosquito.ds3 -o mosquito.fbx
  - dust3d.exe :/resources/model-mosquito.ds3 -o mosquito.glb

artifacts:
  - path: '*.zip'
    name: platform_zips

deploy:
  - provider: GitHub
    release: $(TAG)
    force_update: true
    auth_token:
      secure: Rhzhefjk89WN2tDht8vVKYAojGfR23LhDPKPxhQwbT7k3qswSWjmoFoDTpIHNfc0
    artifact: platform_zips
    draft: false
    prerelease: false
    on:
      branch: master

  - provider: GitHub
    release: $(TAG)
    force_update: true
    auth_token:
      secure: Rhzhefjk89WN2tDht8vVKYAojGfR23LhDPKPxhQwbT7k3qswSWjmoFoDTpIHNfc0
    artifact: platform_zips
    draft: false
    prerelease: false
    on:
      APPVEYOR_REPO_TAG: true
