diff --git a/.travis.yml b/.travis.yml index 9641c06e..10bff99e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,20 +1,74 @@ language: cpp -compiler: - - gcc - - clang +matrix: + include: + - compiler: clang + env: COMPILER=clang++ SKIP_CHECK=true + - compiler: clang + env: COMPILER=clang++ + addons: + apt: + packages: + - libcppunit-dev + - compiler: clang + env: COMPILER=clang++-3.6 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.6 + packages: + - clang-3.6 + - libcppunit-dev + - compiler: clang + env: COMPILER=clang++-3.7 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 + packages: + - clang-3.7 + - libcppunit-dev + - compiler: clang + env: COMPILER=clang++-3.8 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - clang-3.8 + - libcppunit-dev + - compiler: gcc + env: COMPILER=g++-4.7 SKIP_CHECK=true + addons: + apt: + sources: ubuntu-toolchain-r-test + packages: + - g++-4.7 + - compiler: gcc + env: COMPILER=g++-4.7 + addons: + apt: + sources: ubuntu-toolchain-r-test + packages: + - g++-4.7 + - libcppunit-dev + - compiler: gcc + env: COMPILER=g++-4.8 + addons: + apt: + sources: ubuntu-toolchain-r-test + packages: + - g++-4.8 + - libcppunit-dev + +# TODO: Use the same branch name if libtorrent has it. before_install: - - sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test - - sudo apt-get update -qq - - sudo apt-get build-dep rtorrent libtorrent-dev + - git clone https://github.com/rakshasa/libtorrent.git + - cd libtorrent && ./autogen.sh && CXX="$COMPILER" ./configure && make -j12 && sudo make install - - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.7; fi - - if [ "$CXX" = "g++" ]; then export CXX="g++-4.7" CC="gcc-4.7"; fi - -# prevent `macro `AM_PATH_CPPUNIT' not found in library` in `autogen.sh` - - sudo apt-get install libcppunit-dev - - - git clone https://github.com/rakshasa/libtorrent.git && cd libtorrent && ./autogen.sh && ./configure && make -j12 && sudo make install && cd .. - -# Figure out how to fix the issue running 'make check'. -script: ./autogen.sh && ./configure && make -j12 && sudo make install +script: +- ./autogen.sh && CXX="$COMPILER" ./configure && make -j12 +- if [ ! $SKIP_CHECK ]; then make -j12 check; fi