version: '1.12.0-git-{build}'
image: 'Visual Studio 2017'
clone_depth: 1

# Build configuration
configuration:
  - Release

# Environment
environment:
  NINJA_URL: https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip
  VSVARSALLPATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat'
  ARCH: x64
  PYTHON: 'C:\Python36-x64'
  PACKAGE_NAME: cutter-git-x64.Windows

install:
  - ps: $env:path = ($env:path -split ";").Where({!($_ -like "*Microsoft SQL Server*")}) -join ";"
  - cmd: C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER && scripts/fetch_deps.sh"
  - cmd: set "CUTTER_DEPS=%APPVEYOR_BUILD_FOLDER%\cutter-deps"
  - cmd: set "PATH=%CD%;%PYTHON%;%PATH%"
  - cmd: call "%VSVARSALLPATH%" %ARCH%
  - cmd: set "PATH=%CUTTER_DEPS%\qt\bin;%PYTHON%\Scripts\;%PATH%"
  - cmd: echo %PATH%
  - cmd: python -m pip install meson ninja
  - ps: choco install winflexbison3
  # Artifacts
  - cmd: set "ARTIFACT_NAME=%PACKAGE_NAME%.zip"
  - cmd: set "ARTIFACT_PATH=build\%ARTIFACT_NAME%"

before_build:
  - cmd: git submodule update --init --recursive
  - scripts\prepare_breakpad.bat

# Build config
build_script:
  - cmd: |
     mkdir build
     cd build
     set PACKAGE_NAME=cutter-git-x64.Windows
  - cmd: "cmake
       -DCMAKE_BUILD_TYPE=Release
       -DCUTTER_USE_BUNDLED_RIZIN=ON
       -DCUTTER_ENABLE_PYTHON=ON
       -DCUTTER_ENABLE_PYTHON_BINDINGS=ON
       -DCUTTER_ENABLE_PACKAGING=ON
       -DCUTTER_PACKAGE_DEPENDENCIES=ON
       -DCUTTER_PACKAGE_RZ_GHIDRA=ON
       -DCUTTER_PACKAGE_JSDEC=ON
       -DCUTTER_ENABLE_DEPENDENCY_DOWNLOADS=ON
       -DCUTTER_ENABLE_CRASH_REPORTS=ON
       -DCMAKE_PREFIX_PATH=%CUTTER_DEPS%\\pyside
       -DCPACK_PACKAGE_FILE_NAME=%PACKAGE_NAME%
       -G Ninja
       .."
  - cmd: cmake --build . --config Release
  - cmd: cmake --build . --config Release --target package

# Tests
test: off

# Artifacts
artifacts:
  - path: "%ARTIFACT_PATH%"
    name: "%ARTIFACT_NAME%"

deploy:
  description: 'Cutter binaries'
  provider: GitHub
  auth_token:
    secure: 2SmsqS2RaX2N5c9UwUcfBwNmMX64FfPAZFShLyxIkZXiC8vLaYCHToWxBYEuWRSk
  artifact: "%ARTIFACT_NAME%"
  draft: true
  prerelease: true
  on:
    appveyor_repo_tag: true
    DEPLOY: true

for:
  -
    branches:
      only:
        - master
  -
    skip_non_tags: true