blob: 48c84b785ac9bda5c040d4591b20a6793567a7d3 [file] [log] [blame]
David Wagner70890d12015-04-15 11:22:46 +02001# Use travis docker infrastructure
2sudo: false
David Wagnerd98ecab2015-02-13 17:15:51 +01003language: cpp
David Wagnerd98ecab2015-02-13 17:15:51 +01004
David Wagner70890d12015-04-15 11:22:46 +02005env:
6 global:
7 - PREFIX=$HOME/prefix
8
9compiler:
10 - gcc
Jean-Michel Trivia9be2d32015-07-15 15:37:57 -070011 - clang
David Wagner70890d12015-04-15 11:22:46 +020012
13# Install a recent gcc and gcov,
Kevin Rocard327b24a2015-03-09 16:50:39 +010014# it will not be necessary once travis worker is based on ubuntu > 12.04.
15# Install SWIG for bindings generation
David Wagner70890d12015-04-15 11:22:46 +020016# 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
Kevin Rocard327b24a2015-03-09 16:50:39 +010025
26install:
David Wagner70890d12015-04-15 11:22:46 +020027 - pip install --user cpp-coveralls; export PATH=$HOME/.local/bin:$PATH
28 - wget --directory-prefix $PREFIX/include
Kevin Rocard46a021d2015-02-19 18:18:17 +010029 https://raw.github.com/philsquared/Catch/master/single_include/catch.hpp
David Wagnerd98ecab2015-02-13 17:15:51 +010030
David Wagner70890d12015-04-15 11:22:46 +020031before_script:
32 - if [ "$CC" = "gcc" ]; then export CC=gcc-4.8 CXX=g++-4.8; fi
33
David Wagnerd98ecab2015-02-13 17:15:51 +010034# how to build
David Wagnere394de12015-02-13 18:04:22 +010035script:
Kevin Rocardc461b692015-04-13 15:05:06 +020036 - ( mkdir build_debug && cd build_debug &&
David Wagner70890d12015-04-15 11:22:46 +020037 cmake -DCMAKE_PREFIX_PATH=$PREFIX -DCMAKE_BUILD_TYPE=Debug -DCOVERAGE=ON .. &&
Kevin Rocardc461b692015-04-13 15:05:06 +020038 make -j &&
39 CTEST_OUTPUT_ON_FAILURE=1 make ExperimentalTest ExperimentalMemCheck )
Kevin Rocard7fe36ee2015-03-06 10:36:40 +010040 - ( mkdir build && cd build &&
David Wagner70890d12015-04-15 11:22:46 +020041 cmake -DCMAKE_PREFIX_PATH=$PREFIX -DCMAKE_INSTALL_PREFIX=../install .. &&
Kevin Rocardfe6401e2015-03-05 19:13:34 +010042 make -j &&
David Wagner70890d12015-04-15 11:22:46 +020043 CTEST_OUTPUT_ON_FAILURE=1 make test &&
44 make install)
Kevin Rocard7fe36ee2015-03-06 10:36:40 +010045 - ( cd skeleton-subsystem &&
David Wagner70890d12015-04-15 11:22:46 +020046 cmake -DCMAKE_INSTALL_PREFIX=../install . &&
Kevin Rocardfe6401e2015-03-05 19:13:34 +010047 make &&
David Wagner70890d12015-04-15 11:22:46 +020048 make install )
David Wagnerd98ecab2015-02-13 17:15:51 +010049
David Wagnercfd3e7c2015-04-03 13:33:08 +020050after_success:
51 # Push coverage info on coveralls.io.
52 # Ignore generated files, samples and tests
53 - coveralls
Kevin Rocardc461b692015-04-13 15:05:06 +020054 --exclude "build_debug/bindings/python"
55 --exclude "build_debug/CMakeFiles"
56 --exclude "build"
David Wagnercfd3e7c2015-04-03 13:33:08 +020057 --exclude "skeleton-subsystem"
58 --exclude "test/test-subsystem"
59 --exclude "bindings/c/Test.cpp"
60 --exclude "test/tokenizer"
David Wagner70890d12015-04-15 11:22:46 +020061 --gcov /usr/bin/gcov-4.8
Kevin Rocard6a03dc62015-04-12 01:21:35 +020062 --gcov-options '\--long-file-names --preserve-paths'
David Wagnercfd3e7c2015-04-03 13:33:08 +020063
David Wagnerd98ecab2015-02-13 17:15:51 +010064notifications:
David Wagnerd98ecab2015-02-13 17:15:51 +010065 irc:
66 - "chat.freenode.net#parameter-framework"