#---------------------------------#
#      general configuration      #
#---------------------------------#

# version format
version: 1.0.{build}-{branch}

# branches to build
branches:
  except:
    - gh-pages

# Do not build on tags (GitHub and BitBucket)
skip_tags: false

#---------------------------------#
#    environment configuration    #
#---------------------------------#

# Build worker image
image:
  - Ubuntu2004
  - Visual Studio 2019
#  - macos-monterey "SSL handshake failed: The root CA certificate is not trusted for this purpose" -- we don't feel like dealing with this Allen&David 12 September 2023

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

#---------------------------------#
#       build configuration       #
#---------------------------------#

# build platform, i.e. x86, x64, Any CPU. This setting is optional.
platform:
  - x64

# build Configuration, i.e. Debug, Release, etc.
configuration:
  - Release
  - Debug

environment:
  matrix:
    - useqt6: False
    - useqt6: True

install:
  - sh: if [ "`uname -s`" = "Darwin" ]; then brew install ninja; else sudo apt-get -y update; sudo apt-get -y install mesa-common-dev libglu1-mesa-dev; fi

before_build:
  - git submodule update --init --recursive
  - cmd: call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
  - cmd: set PATH=C:\Qt\6.2\msvc2019_64\bin;C:\Qt\5.15\msvc2019_64\bin;%PATH%
  - sh: if [ "`uname -s`" = "Darwin" ]; then export PATH=$HOME/Qt/6.3/macos/bin:$HOME/Qt/5.15/clang_64/bin:$PATH; else export PATH=$HOME/Qt/6.2/gcc_64/bin:$HOME/Qt/5.15/gcc_64/bin:$PATH; fi
  - sh: export CTEST_OUTPUT_ON_FAILURE=1

build_script:
  - mkdir build
  - cd build
  - cmd: cmake -G Ninja -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DKDSoap_QT6=%useqt6% -DKDSoap_TESTS=True -DKDSoap_EXAMPLES=True ..
  - sh: cmake -G Ninja -DCMAKE_BUILD_TYPE=$CONFIGURATION -DKDSoap_QT6=$useqt6 -DKDSoap_TESTS=True -DKDSoap_EXAMPLES=True ..
  - cmake --build .
  - cmd: cmake --build . --target install
  - sh: sudo cmake --build . --target install
  - cmd: set PATH=.\bin;%PATH%
  #temporarily disable testing on Windows
  #- ctest --test-dir .
  #- sh: if [ "`uname -s`" != "Darwin" ]; then export LD_LIBRARY_PATH=./lib:$HOME/Qt/6.2/gcc_64/lib:$HOME/Qt/5.15/gcc_64/lib; fi
  #- sh: ctest --test-dir .
  - sh: if [ "`uname -s`" = "Darwin" ]; then ctest --test-dir .; else echo "temporarily disable testing on Ubuntu (due to Subprocess aborted)"; fi

# to disable automatic builds
#build: off

#---------------------------------#
#       tests configuration       #
#---------------------------------#

# to disable automatic tests
test: off

#---------------------------------#
#     deployment configuration    #
#---------------------------------#

deploy: off

#---------------------------------#
#         notifications           #
#---------------------------------#
notifications:
  # Email
  - provider: Email
    to:
      - allen.winter@kdab.com
    on_build_success: false
    on_build_failure: true
