# Travis-CI configuration file for SuperTuxKart 
#
# Configuration manual:
# http://docs.travis-ci.com/user/build-configuration/
#
sudo: false
language: cpp
compiler:
  - gcc
  - clang

matrix:
  fast_finish: true

env:
  matrix:
    - BUILD_TYPE="Debug" SERVER_ONLY="OFF"
    - BUILD_TYPE="Debug" SERVER_ONLY="ON"
    - BUILD_TYPE="Release" SERVER_ONLY="OFF"
    - BUILD_TYPE="Release" SERVER_ONLY="ON"

addons:
  apt:
    packages:
    - build-essential
    - cmake
    - libbluetooth-dev
    - libcurl4-gnutls-dev
    - libfreetype6-dev
    - libfribidi-dev
    - libgl1-mesa-dev
    - libjpeg-dev
    - libogg-dev
    - libopenal-dev
    - libpng-dev
    - libvorbis-dev
    - libxrandr-dev
    - mesa-common-dev
    - pkg-config
    - zlib1g-dev

before_script:
  # Unfortunately using all threads crashes g++: "g++: internal compiler error: Killed (program cc1plus)"
  # Use half of the available threads, gcc is memory hungry
  - 'if [ ${CC} = "gcc" ]; then
        export THREADS=$((`nproc` / 2));
    else
        export THREADS=$((`nproc` + 1));
    fi'
  - echo "THREADS = $THREADS"
  - free -mt

script:
  - mkdir "build"
  - cd "build"
  - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSERVER_ONLY=$SERVER_ONLY -DCHECK_ASSETS=off -DBUILD_RECORDER=off
  - make VERBOSE=1 -j $THREADS

notifications:
  irc:
    channels:
      - "irc.freenode.org#supertuxkart"
    skip_join: false
    use_notice: true
    template:
      #- "[%{commit}: %{author}] %{message}"
      #- "%{build_url}"
      - "[%{repository}#%{branch} @%{commit}] %{author}): %{message}"
      - "Diff: %{compare_url}"
      - "Build: %{build_url}"
