language: cpp
os:
- linux
- osx
dist: trusty
sudo: required
env:
  matrix:
    - ignore=this
  global:
  - secure: NMg+qtQB4DIZ/KqlDeIn3K7A7Ydksdpnbv6Ha9n4bSSA0AT8wlPwbHXvQmiR8qYs6cnz4fyY6NVcBe7X3bdR8jWyPNAS0l0QByqG12q3dBpEtNNn0X5u/GS3wHse5+ObNAF9a83+xACTQj2UdxqHgJ3LFGzdBpQt3kLsc8NDnn8=

matrix:
  exclude:
  - env: ignore=this
  include:
  - os: linux
    compiler: clang
    env: VCMI_PLATFORM='linux' REAL_CC=clang-3.6 REAL_CXX=clang++-3.6 PACKAGE=clang-3.6
      SUPPORT=libstdc++-4.8-dev
  - os: linux
    compiler: clang
    env: VCMI_PLATFORM='linux' REAL_CC=clang-3.4 REAL_CXX=clang++-3.4 PACKAGE=clang-3.4
      SUPPORT=libstdc++-4.8-dev
  - os: linux
    compiler: gcc
    env: VCMI_PLATFORM='linux' REAL_CC=gcc-4.8   REAL_CXX=g++-4.8     PACKAGE=g++-4.8   SUPPORT=
  - os: linux
    env: VCMI_PLATFORM='mxe' MXE_TARGET=i686-w64-mingw32.shared VCMI_CMAKE_FLAGS='-DENABLE_TEST=0'
    sudo: required
  - os: osx
    env: VCMI_PLATFORM='mac'

addons:
  apt:
    update: true
  coverity_scan:
    project:
      name: vcmi/vcmi
      description: Build submitted via Travis CI
    notification_email: coverity@arseniyshestakov.com
    build_command_prepend: cov-configure --compiler clang-3.6 --comptype clangcc &&
      cov-configure --comptype clangcxx --compiler clang++-3.6 && cmake -G Ninja ..
      -DCMAKE_BUILD_TYPE=DEBUG -DENABLE_LAUNCHER=0
    build_command: ninja -j 3
    branch_pattern: coverity_scan

notifications:
  email:
    recipients:
    - noreply@vcmi.eu
    on_success: change
    on_failure: always
  slack:
    secure: KHXFe14FFKtw5mErWbj730+utqy7i/3AUobWfAMAGvWI5sJYlhbBU+KvvCoD2SlRQg3mQqgwVw8NBJF1Mffs7WcRmrFFFmuMqZxFLAfKBd3T0CxWpAGfnfNgDmlfV4OfEgQWk1pakEPOymhxbbmLUuCjykZDuTcioxAk0UAHDwY=

before_install:
- test $TRAVIS_BRANCH != coverity_scan -o ${TRAVIS_JOB_NUMBER##*.} = 1 || exit 0
- . $TRAVIS_BUILD_DIR/CI/$VCMI_PLATFORM/before_install.sh

before_script:
- mkdir build
- cd build
- if [[ $TRAVIS_BRANCH != 'coverity_scan' ]];
  then
    source $TRAVIS_BUILD_DIR/CI/get_package_name.sh;
    if [[ $VCMI_PLATFORM == 'mxe' ]];
    then
      /usr/lib/mxe/usr/bin/i686-w64-mingw32.shared-cmake -G Ninja .. $VCMI_CMAKE_FLAGS
      -DPACKAGE_NAME_SUFFIX:STRING="$VCMI_PACKAGE_NAME_SUFFIX"
      -DPACKAGE_FILE_NAME:STRING="$VCMI_PACKAGE_FILE_NAME";
    else
      cmake -G Ninja .. $VCMI_CMAKE_FLAGS
      -DPACKAGE_NAME_SUFFIX:STRING="$VCMI_PACKAGE_NAME_SUFFIX"
      -DPACKAGE_FILE_NAME:STRING="$VCMI_PACKAGE_FILE_NAME";
    fi

  fi
  
script:
- test $TRAVIS_BRANCH != coverity_scan || exit 0
- ninja

after_success:
- test $TRAVIS_BRANCH != coverity_scan || exit 0
- . $TRAVIS_BUILD_DIR/CI/$VCMI_PLATFORM/upload_package.sh
