1# Use travis docker infrastructure 2sudo: false 3language: cpp 4 5env: 6 global: 7 - PREFIX=$HOME/prefix 8 9compiler: 10 - gcc 11 - clang 12 13# Install a recent gcc and gcov, 14# it will not be necessary once travis worker is based on ubuntu > 12.04. 15# Install SWIG for bindings generation 16# Install valgrind for memcheck tests 17addons: 18 apt: 19 sources: 20 - ubuntu-toolchain-r-test 21 packages: 22 - swig 23 - valgrind 24 - g++-4.8 25 26install: 27 - pip install --user cpp-coveralls; export PATH=$HOME/.local/bin:$PATH 28 - wget --directory-prefix $PREFIX/include 29 https://raw.github.com/philsquared/Catch/master/single_include/catch.hpp 30 31before_script: 32 - if [ "$CC" = "gcc" ]; then export CC=gcc-4.8 CXX=g++-4.8; fi 33 34# how to build 35script: 36 - ( mkdir build_debug && cd build_debug && 37 cmake -DCMAKE_PREFIX_PATH=$PREFIX -DCMAKE_BUILD_TYPE=Debug -DCOVERAGE=ON .. && 38 make -j && 39 CTEST_OUTPUT_ON_FAILURE=1 make ExperimentalTest ExperimentalMemCheck ) 40 - ( mkdir build && cd build && 41 cmake -DCMAKE_PREFIX_PATH=$PREFIX -DCMAKE_INSTALL_PREFIX=../install .. && 42 make -j && 43 CTEST_OUTPUT_ON_FAILURE=1 make test && 44 make install) 45 - ( cd skeleton-subsystem && 46 cmake -DCMAKE_INSTALL_PREFIX=../install . && 47 make && 48 make install ) 49 50after_success: 51 # Push coverage info on coveralls.io. 52 # Ignore generated files, samples and tests 53 - coveralls 54 --exclude "build_debug/bindings/python" 55 --exclude "build_debug/CMakeFiles" 56 --exclude "build" 57 --exclude "skeleton-subsystem" 58 --exclude "test/test-subsystem" 59 --exclude "bindings/c/Test.cpp" 60 --exclude "test/tokenizer" 61 --gcov /usr/bin/gcov-4.8 62 --gcov-options '\--long-file-names --preserve-paths' 63 64notifications: 65 irc: 66 - "chat.freenode.net#parameter-framework" 67