language: cpp
compiler:
- - gcc
- - clang
+ - gcc
+ - clang
+
+matrix:
+ fast_finish: true
+
+env:
+ global:
+ # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
+ # via the "travis encrypt" command using the project repo's public key
+ - secure: "E3/UuL338/FVeKbWVBH8RWznD3ntT8BZxX9TDTCwoZFTPluI53Bk0G3MdDBFihFYLeTMfNxxrT2n+EnQtf9a6SrUIo1xFYWV3yKNHwFiS0LKn0IvhofPoRsg+Y190Hgq8djFSEU1Gk4pYATSfRYnAAbVxuL51CumGVBgBkplB0A="
+ - CMAKE_VERSION=3.2.1 SDL2_VERSION=2.0.3 SDL2IMAGE_VERSION=2.0.0
+ matrix:
+ - BUILD_TYPE="Debug"
+ - BUILD_TYPE="Release"
before_install:
- - sudo apt-get update -qq
- - sudo apt-get install build-essential libogg-dev libvorbis-dev libphysfs-dev libglew-dev libopenal-dev libboost-all-dev
+ - sudo apt-get update -qq
+ - sudo apt-get install build-essential libogg-dev libvorbis-dev libphysfs-dev libglew-dev libopenal-dev libboost-all-dev
- # Current gcc that supports C++ 11 features
- - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- - sudo apt-get update -qq
- - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.8; fi
- - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
+ # Current gcc that supports C++ 11 features
+ - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
+ - sudo apt-get update -qq
+ - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.9; fi
+ - if [ "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
- # CMake
- - wget http://www.cmake.org/files/v3.0/cmake-3.0.1.tar.gz -O - | tar xz
- - (cd cmake-3.0.1 && cmake . && make && sudo make install)
+ # CMake
+ - wget http://www.cmake.org/files/v3.1/cmake-$CMAKE_VERSION.tar.gz -O - | tar xz
+ - (cd cmake-$CMAKE_VERSION && cmake . && make -j5 && sudo make install)
- # SDL dependencies
- - wget http://libsdl.org/release/SDL2-2.0.3.tar.gz -O - | tar xz
- - (cd SDL2-2.0.3 && ./configure --prefix=/usr && make -j5 && sudo make install)
- - wget http://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.0.tar.gz -O - | tar xz
- - (cd SDL2_image-2.0.0 && ./configure --prefix=/usr && make -j5 && sudo make install)
+ # SDL dependencies
+ - wget http://libsdl.org/release/SDL2-$SDL2_VERSION.tar.gz -O - | tar xz
+ - (cd SDL2-$SDL2_VERSION && ./configure --prefix=/usr && make -j5 && sudo make install)
+ - wget http://www.libsdl.org/projects/SDL_image/release/SDL2_image-$SDL2IMAGE_VERSION.tar.gz -O - | tar xz
+ - (cd SDL2_image-$SDL2IMAGE_VERSION && ./configure --prefix=/usr && make -j5 && sudo make install)
script:
- # First a debug build:
-- mkdir build-debug
-- cd build-debug
-- cmake .. -DCMAKE_BUILD_TYPE=Debug -DCHECK_ASSETS=off
-- make VERBOSE=1 -j 4
-# Then a release build:
-- cd ..
-- mkdir build-release
-- cd build-release
-- cmake .. -DCMAKE_BUILD_TYPE=Release -DCHECK_ASSETS=off
-- make VERBOSE=1 -j 4
+ # Clean from previous Travis build
+ - git clean -f
+ # Then build:
+ - mkdir "build-$BUILD_TYPE"
+ - cd "build-$BUILD_TYPE"
+ - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE
+ - make VERBOSE=1 -j $(nproc)
+
+addons:
+ coverity_scan:
+ project:
+ name: "SuperTuxTeam/supertux"
+ description: "Build submitted via Travis CI"
+ notification_email: supertux-commit@lists.lethargik.org
+ build_command_prepend: "cmake . && make clean"
+ build_command: "make -j 4"
+ branch_pattern: coverity_scan
notifications:
- irc:
- channels:
- - "irc.freenode.org#supertux"
- skip_join: false
- use_notice: true
- template:
- #- "[%{commit}: %{author}] %{message}"
- #- "%{build_url}"
- - "[%{repository}#%{branch} @%{commit}] %{author}): %{message}"
- - "Diff: %{compare_url}"
- - "Build: %{build_url}"
+ email:
+ - supertux-commit@lists.lethargik.org