language:
  - cpp

env:
  # use libtorrent 0.15.10
  - lt_source=from_dist gui=true
  - lt_source=from_dist gui=false
  # use libtorrent 0.16.X from RC_0_16 svn branch
  - lt_source=from_svn gui=true
  - lt_source=from_svn gui=false

branches:
  except:
    - search_encoding_windows
    - v2_9_x

notifications:
  email:
    on_success: change
    on_failure: change 

before_install:
  - shopt -s expand_aliases
  - alias sudo="sudo "
  # Using nprocs/2 sometimes may fail (gcc is killed by system), just use two threads
  - alias make="colormake -j2 "

  # Also setup a virtual display for after_success target when gui == true
  - if ! $gui; then qbtconf="$qbtconf --disable-gui"; else export "DISPLAY=:99.0" && /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16 ; fi
  - ltconf=" --with-libgeoip=system"

  - echo settings
  - echo $lt_source
  - echo $ltconf
  - echo $gui
  - echo $qbtconf

  - sudo apt-get -qq update
  # Travis can stall during heavy load if these packages are installed in one step - split the command
  - sudo apt-get -qq install debhelper qconf colormake libssl-dev libgeoip-dev
  - sudo apt-get -qq install libboost-dev libboost-filesystem-dev libboost-system-dev
  - sudo apt-get -qq install libqt4-dev 

install:
  - if [[ "$lt_source" == "from_dist" ]]; then sudo apt-get -qq install libtorrent-rasterbar-dev; fi
  - if [[ "$lt_source" == "from_svn" ]]; then cd .. && svn co svn://svn.code.sf.net/p/libtorrent/code/branches/RC_0_16 ./libtorrent && (cd libtorrent && ./autotool.sh && ./configure $ltconf && sudo make install) && sudo ldconfig /usr/local/lib && cd $TRAVIS_BUILD_DIR ; fi

script:
  - qt-qconf
  - ./configure $qbtconf && sudo make install
  
after_success:
  - if $gui ; then qbittorrent --version ; else qbittorrent-nox --version ; fi
