Fix for coverity #29369
[supertux.git] / .travis.yml
1 # Travis-CI configuration file for SuperTuxKart
2 #
3 # Configuration manual:
4 # http://docs.travis-ci.com/user/build-configuration/
5 #
6 # Heavily borrowed from SuperTuxKart's travis.yml.
7 #
8 # SuperTuxKart's travis.yml file can be found here:
9 # https://github.com/supertuxkart/stk-code/blob/master/.travis.yml
10 # License: https://github.com/supertuxkart/stk-code/blob/master/COPYING
11 #
12
13 language: cpp
14
15 compiler:
16  - gcc
17  - clang
18
19 matrix:
20  fast_finish: true
21
22 env:
23   global:
24    # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
25    #   via the "travis encrypt" command using the project repo's public key
26    - secure: "E3/UuL338/FVeKbWVBH8RWznD3ntT8BZxX9TDTCwoZFTPluI53Bk0G3MdDBFihFYLeTMfNxxrT2n+EnQtf9a6SrUIo1xFYWV3yKNHwFiS0LKn0IvhofPoRsg+Y190Hgq8djFSEU1Gk4pYATSfRYnAAbVxuL51CumGVBgBkplB0A="
27    - CMAKE_VERSION=3.1.3 SDL2_VERSION=2.0.3 SDL2IMAGE_VERSION=2.0.0
28  
29 before_install:
30  - sudo apt-get update -qq
31  - sudo apt-get install build-essential libogg-dev libvorbis-dev libphysfs-dev libglew-dev libopenal-dev libboost-all-dev
32
33  # Current gcc that supports C++ 11 features
34  - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
35  - sudo apt-get update -qq
36  - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.8; fi
37  - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
38
39  # CMake
40  - wget http://www.cmake.org/files/v3.1/cmake-$CMAKE_VERSION.tar.gz -O - | tar xz
41  - (cd cmake-$CMAKE_VERSION && cmake . && make -j5 && sudo make install)
42
43  # SDL dependencies
44  - wget http://libsdl.org/release/SDL2-$SDL2_VERSION.tar.gz -O - | tar xz
45  - (cd SDL2-$SDL2_VERSION && ./configure --prefix=/usr && make -j5 && sudo make install)
46  - wget http://www.libsdl.org/projects/SDL_image/release/SDL2_image-$SDL2IMAGE_VERSION.tar.gz -O - | tar xz
47  - (cd SDL2_image-$SDL2IMAGE_VERSION && ./configure --prefix=/usr && make -j5 && sudo make install)
48
49 script:
50  # Clean from previous Travis build
51 - git clean -f
52  # First a debug build:
53 - mkdir build-debug
54 - cd build-debug
55 - cmake .. -DCMAKE_BUILD_TYPE=Debug
56 - make VERBOSE=1 -j $(nproc)
57 # Then a release build:
58 - cd ..
59 - mkdir build-release
60 - cd build-release
61 - cmake .. -DCMAKE_BUILD_TYPE=Release
62 - make VERBOSE=1 -j $(nproc)
63
64 addons:
65   coverity_scan:
66     project:
67       name: "SuperTuxTeam/supertux"
68       description: "Build submitted via Travis CI"
69     notification_email: supertux-commit@lists.lethargik.org
70     build_command_prepend: "cmake . && make clean"
71     build_command:   "make -j 4"
72     branch_pattern: master
73
74 notifications:
75   email:
76     - supertux-commit@lists.lethargik.org