# AppVeyor configuration file.
version: '1.1.1.{build}'

# Build worker image (VM template)
image:
  - Visual Studio 2015
  - Ubuntu2204
configuration:
  - Debug
  - Release
platform:
  - x86
  - x64

# TODO: Re-add MinGW-w64 compiler for Windows builds.

# scripts that are called at very beginning, before repo cloning
init:
  - git config --global core.autocrlf input

# Don't build if source files aren't modified.
only_commits:
  files:
    - appveyor.cmd
    - appveyor.yml
    - '**/CMakeLists.txt'
    - '**/*.cmd'
    - '**/*.sh'
    - extlib/**/*
    - src/**/*

# Ignore the l10n_master branch from Crowdin.
branches:
  except:
    - l10n_master

# Run CMake.
before_build:
  - cmd: cd %APPVEYOR_BUILD_FOLDER%
  - cmd: appveyor.cmd
  - sh: cd ${APPVEYOR_BUILD_FOLDER}
  - sh: sudo ./appveyor-dpkg.sh
  - sh: ./appveyor.sh

build_script:
  - cmd: cd %APPVEYOR_BUILD_FOLDER%\build
  - cmd: cmake --build . --config %configuration%
  - sh: cd ${APPVEYOR_BUILD_FOLDER}/build
  - sh: cmake --build . --config ${CONFIGURATION}

test_script:
  - cmd: cd %APPVEYOR_BUILD_FOLDER%\build
  - cmd: ctest -V -C %configuration%
  - sh: cd ${APPVEYOR_BUILD_FOLDER}/build
  - sh: ctest -V -C ${CONFIGURATION}

after_test:
  - cmd: cd %APPVEYOR_BUILD_FOLDER%\build
  - cmd: ..\appveyor-artifacts.cmd
