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