.travis.yml 2.38 KB
Newer Older
Jeongseok Lee's avatar
Jeongseok Lee committed
1
2
3
language: cpp

env:
4
5
  global:
    - CTEST_PARALLEL_LEVEL=4
6
7
    - CTEST_OUTPUT_ON_FAILURE=1
    - CXX_FLAGS_DEBUG="-O1"
8
    - MAKEFLAGS="-j2"
Justin Carpentier's avatar
Justin Carpentier committed
9
    - BUILD_TESTING=ON
Jeongseok Lee's avatar
Jeongseok Lee committed
10

Joseph Mirabel's avatar
Joseph Mirabel committed
11
12
13
cache:
  ccache: true

Jeongseok Lee's avatar
Jeongseok Lee committed
14
matrix:
15
  include:
16
17
18
19
    - name: "Xenial - Release - g++"
      env: BUILD_TYPE=Release
      dist: xenial
      compiler: g++
Joseph Mirabel's avatar
Joseph Mirabel committed
20
21
22
      addons:
        apt:
          packages:
Joseph Mirabel's avatar
Joseph Mirabel committed
23
24
25
26
            - cmake
            - libboost-all-dev
            - libassimp-dev
            - libeigen3-dev
Joseph Mirabel's avatar
Joseph Mirabel committed
27
            - liboctomap-dev
Joseph Mirabel's avatar
Joseph Mirabel committed
28
29
            - python-lxml
            - python3-lxml
30
31

    - name: "Bionic - Release - g++"
32
      env: BUILD_TYPE=Release
33
34
      dist: bionic
      compiler: g++
Joseph Mirabel's avatar
Joseph Mirabel committed
35
36
37
      addons:
        apt:
          packages:
Joseph Mirabel's avatar
Joseph Mirabel committed
38
39
40
41
            - cmake
            - libboost-all-dev
            - libassimp-dev
            - libeigen3-dev
Joseph Mirabel's avatar
Joseph Mirabel committed
42
            - liboctomap-dev
Joseph Mirabel's avatar
Joseph Mirabel committed
43
44
            - python-lxml
            - python3-lxml
45
46
47

    - name: "Bionic - Debug - g++"
      env: BUILD_TYPE=Debug
48
      dist: bionic
49
      compiler: g++
Joseph Mirabel's avatar
Joseph Mirabel committed
50
51
52
      addons:
        apt:
          packages:
Joseph Mirabel's avatar
Joseph Mirabel committed
53
54
55
56
            - cmake
            - libboost-all-dev
            - libassimp-dev
            - libeigen3-dev
Joseph Mirabel's avatar
Joseph Mirabel committed
57
            - liboctomap-dev
Joseph Mirabel's avatar
Joseph Mirabel committed
58
59
            - python-lxml
            - python3-lxml
60

Justin Carpentier's avatar
Justin Carpentier committed
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
    - name: "Bionic - Release - g++ - NO TEST"
      env: 
        - BUILD_TYPE=Release
        - BUILD_TESTING=OFF
      dist: bionic
      compiler: g++
      addons:
        apt:
          packages:
            - cmake
            - libboost-all-dev
            - libassimp-dev
            - libeigen3-dev
            - liboctomap-dev

76
    - name: "OSX - Release - clang"
77
      env: BUILD_TYPE=Release
78
      os: osx
79
      compiler: clang
Joseph Mirabel's avatar
Joseph Mirabel committed
80
81
82
83
      cache:
        ccache: true
        directories:
          - $HOME/Library/Caches/Homebrew
Jeongseok Lee's avatar
Jeongseok Lee committed
84

85
before_install:
Gabriele Buondonno's avatar
Gabriele Buondonno committed
86
  - if [ "$TRAVIS_OS_NAME" = "linux" ]; then source travis_custom/custom_before_install_linux.sh ; fi
Joseph Mirabel's avatar
Joseph Mirabel committed
87
  - if [ "$TRAVIS_OS_NAME" = "osx"   ]; then source travis_custom/custom_before_install_osx.sh   ; fi
88

Jeongseok Lee's avatar
Jeongseok Lee committed
89
90
script:
  # Create build directory
91
  - which python
Jeongseok Lee's avatar
Jeongseok Lee committed
92
  - mkdir build
93
  - cd build
Jeongseok Lee's avatar
Jeongseok Lee committed
94
95

  # Configure
Justin Carpentier's avatar
Justin Carpentier committed
96
  - cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TESTING=$BUILD_TESTING -DCMAKE_CXX_FLAGS=-w -DCMAKE_CXX_FLAGS_DEBUG=${CXX_FLAGS_DEBUG} -DPYTHON_EXECUTABLE=$(which python) ..
Jeongseok Lee's avatar
Jeongseok Lee committed
97
98

  # Build
99
  - make
Jeongseok Lee's avatar
Jeongseok Lee committed
100
101

  # Run unit tests
102
  - travis_wait 30 make test
Jeongseok Lee's avatar
Jeongseok Lee committed
103

104
  # Make sure we can install and uninstall with no issues
105
106
  - sudo make install
  - sudo make uninstall