summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 68d5bcf5474227c69fde95002e9d2197994eb8d4 (plain)
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
language: cpp 

sudo: required 

git: 
 depth: 3

matrix:
  include:
    # A. Linux
    - os: linux
      dist: xenial
      compiler: gcc
      env:
        # 1. Only examples and associated tests
        - CMAKE_EXAMPLE='ON' CMAKE_TEST='OFF' CMAKE_UTILITIES='OFF' CMAKE_PYTHON='OFF' MAKE_TARGET='test' DEBUG='echo Debug'
    - os: linux
      dist: xenial
      compiler: gcc
      env:
        # 2. Only unitary tests
        - CMAKE_EXAMPLE='OFF' CMAKE_TEST='ON' CMAKE_UTILITIES='OFF' CMAKE_PYTHON='OFF' MAKE_TARGET='test' DEBUG='echo Debug'
    - os: linux
      dist: xenial
      compiler: gcc
      env:
        # 3. Only utilities and associated tests
        - CMAKE_EXAMPLE='OFF' CMAKE_TEST='OFF' CMAKE_UTILITIES='ON' CMAKE_PYTHON='OFF' MAKE_TARGET='test' DEBUG='echo Debug'
    - os: linux
      dist: xenial
      compiler: gcc
      env:
        # 4. Only doxygen documentation
        - CMAKE_EXAMPLE='OFF' CMAKE_TEST='OFF' CMAKE_UTILITIES='OFF' CMAKE_PYTHON='OFF' MAKE_TARGET='doxygen' DEBUG='echo Debug'
    - os: linux
      dist: xenial
      compiler: gcc
      env:
        # 5. Only Python, associated tests and sphinx documentation
        - CMAKE_EXAMPLE='OFF' CMAKE_TEST='OFF' CMAKE_UTILITIES='OFF' CMAKE_PYTHON='ON' MAKE_TARGET='test sphinx' DEBUG='ctest -R sphinx_py_test -V'
    # A. Mac OSX
    - os: osx
      osx_image: xcode9.4
      compiler: clang
      env:
        # 1. Only examples and associated tests
        - CMAKE_EXAMPLE='ON' CMAKE_TEST='OFF' CMAKE_UTILITIES='OFF' CMAKE_PYTHON='OFF' MAKE_TARGET='test' DEBUG='echo Debug'
    - os: osx
      osx_image: xcode9.4
      compiler: clang
      env:
        # 2. Only unitary tests
        - CMAKE_EXAMPLE='OFF' CMAKE_TEST='ON' CMAKE_UTILITIES='OFF' CMAKE_PYTHON='OFF' MAKE_TARGET='test' DEBUG='echo Debug'
    - os: osx
      osx_image: xcode9.4
      compiler: clang
      env:
        # 3. Only utilities and associated tests
        - CMAKE_EXAMPLE='OFF' CMAKE_TEST='OFF' CMAKE_UTILITIES='ON' CMAKE_PYTHON='OFF' MAKE_TARGET='test' DEBUG='echo Debug'
    - os: osx
      osx_image: xcode9.4
      compiler: clang
      env:
        # 4. Only doxygen documentation
        - CMAKE_EXAMPLE='OFF' CMAKE_TEST='OFF' CMAKE_UTILITIES='OFF' CMAKE_PYTHON='OFF' MAKE_TARGET='doxygen' DEBUG='echo Debug'
    - os: osx
      osx_image: xcode9.4
      compiler: clang
      env:
        # 5. Only Python, associated tests and sphinx documentation
        - CMAKE_EXAMPLE='OFF' CMAKE_TEST='OFF' CMAKE_UTILITIES='OFF' CMAKE_PYTHON='ON' MAKE_TARGET='#test sphinx' DEBUG='ctest -R sphinx_py_test -V'

cache:
  directories:
    - $HOME/.cache/pip

addons:
  apt:
    packages:
      - cmake
      - graphviz 
      - doxygen
      - libboost-all-dev
      - libeigen3-dev
      - libgmp3-dev
      - libmpfr-dev
      - libtbb-dev
      - curl
      - python3
      - python3-pip
  homebrew:
    packages:
      - cmake
      - graphviz 
      - doxygen
      - boost
      - eigen
      - gmp
      - mpfr
      - tbb
      - curl
      - python3

# When installing through libcgal-dev apt, CMake Error at CGAL Exports.cmake The imported target "CGAL::CGAL Qt5" references the file
install: 
  - curl -LO "https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.13/CGAL-4.13.tar.xz"
  - tar xf CGAL-4.13.tar.xz
  - cd CGAL-4.13
  - cmake -DCMAKE_BUILD_TYPE=Release -DCGAL_HEADER_ONLY=ON .
  - make all
  - sudo make install
  - cd ..
  - python3 -m pip install --upgrade pip setuptools wheel
  - python3 -m pip install --user pytest Cython sphinx sphinxcontrib-bibtex matplotlib numpy scipy

script: 
  - rm -rf build
  - mkdir -p build 
  - cd build 
  - cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=${CMAKE_EXAMPLE} -DWITH_GUDHI_TEST=${CMAKE_TEST} -DWITH_GUDHI_UTILITIES=${CMAKE_UTILITIES} -DWITH_GUDHI_PYTHON=${CMAKE_PYTHON} -DUSER_VERSION_DIR=version -DPython_ADDITIONAL_VERSIONS=3 .. 
  - make all ${MAKE_TARGET}
  - ${DEBUG}
  - cd ..

notifications:
  email:
    on_success: change # default: always
    on_failure: always # default: always