forked from swift-nav/libswiftnav-legacy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
67 lines (60 loc) · 2.03 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
sudo: false
# CMake 2.8.9 is needed to build libswiftnav, but Travis only supports
# an earlier version. This sets up that dependency. See also:
# https://gist.github.com/winterz/10cc2741d466cbd8ff21
# https://github.com/travis-ci/travis-ci/issues/2030
cache: pip
addons:
apt:
sources:
- kalakris-cmake
packages:
- cmake
- check
- lcov
# Required for doxygen check
- doxygen
- texlive
- texlive-pictures
- pgf
# Required for gcc-arm-embedded
- lib32bz2-1.0
- lib32ncurses5
- lib32z1
install:
- gem install coveralls-lcov
- pip install --user tox
# Hack so python bindings can find locally installed library file
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/build/install/usr/local/lib
# Install ARM GCC toolchain
# TODO: Replace with PPA once whitelisted, see https://github.com/travis-ci/apt-source-whitelist/pull/219
- wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q2-update/+download/gcc-arm-none-eabi-4_9-2015q2-20150609-linux.tar.bz2
- tar -xf gcc-arm-none-eabi-4_9-2015q2-20150609-linux.tar.bz2
- export PATH=$PATH:$PWD/gcc-arm-none-eabi-4_9-2015q2/bin
# Install doxygen 1.8
# TODO: Replace with PPA once whitelisted, see https://github.com/travis-ci/apt-source-whitelist/issues/40
script:
# Test libswiftnav
- mkdir build
- cd build/
- cmake -DCMAKE_BUILD_TYPE=Coverage ../
- make
# Check the doxygen
- make check-style
# Install locally to avoid sudo
- make DESTDIR="./install" install
# Test cortex-m4 cross-compile
- cd $TRAVIS_BUILD_DIR
- mkdir build_arm
- cd build_arm/
- cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-gcc-arm-embedded.cmake -DCMAKE_SYSTEM_PROCESSOR=cortex-m4 ../
- make
# Test libswiftnav-python
- cd ../python
- tox
after_success:
- cd $TRAVIS_BUILD_DIR
- lcov --compat-libtool --directory . --capture --output-file coverage.info
# Remove coverage info for tests (always 100%) and stdlib
- lcov --remove coverage.info 'tests/*' '/usr/*' --output-file coverage.info
- coveralls-lcov coverage.info