-
Notifications
You must be signed in to change notification settings - Fork 25
/
.travis.yml
306 lines (291 loc) · 23.9 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
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
language: cpp
os:
- linux
- osx
sudo: required
dist: focal # Ubuntu 20.04 LTS
osx_image: xcode12.5 # Xcode 12.5 under Big Sur (macOS 11.3)
#osx_image: xcode12.4 # Xcode 12.4 under Big Sur (macOS 11.2.1)
#osx_image: xcode12.2 # Xcode 12.2 under Catalina (OS X 10.15)
#osx_image: xcode11.6 # Xcode 11.6 under Catalina (OS X 10.15)
#osx_image: xcode11.3 # Xcode 11.3.1 under Mojave (OS X 10.14)
#osx_image: xcode11.2 # Xcode 11.2.1 under Mojave (OS X 10.14)
#osx_image: xcode11 # Xcode 11.0 under Mojave (OS X 10.14)
#osx_image: xcode10.3 # Xcode 10.3 under Mojave (OS X 10.14.4)
#osx_image: xcode10.2 # Xcode 10.2.1 under Mojave (OS X 10.14)
#osx_image: xcode10.1 # Xcode 10.1 under High Sierra (OS X 10.13)
#osx_image: xcode10 # Xcode 10.0 under High Sierra (OS X 10.13)
#osx_image: xcode9.4 # Xcode 9.4.1 under High Sierra (OS X 10.13)
#osx_image: xcode9.3 # Xcode 9.3 under High Sierra (OS X 10.13)
#osx_image: xcode9.2 # Xcode 9.2 under Sierra (OS X 10.12)
#osx_image: xcode8.3 # Xcode 8.3.3 under Sierra (OS X 10.12)
#osx_image: xcode7.3 # Xcode 7.3.1 under El Capitan (OS X 10.11)
#osx_image: xcode6.4 # Xcode 6.4 under Yosemite (OS X 10.10)
compiler:
- clang
- gcc
cache: apt # this feature is available only for private repositories
env:
# new matrix
# [Debug] : VTK and PCL set to OFF in Debug configuration (because of time limitations)
# [Debug] only cgal
- BTYPE="-DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Debug"
# [Debug] only openmesh
- BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Debug"
# [Debug] only aif
- BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Debug"
# [Debug] all
- BTYPE="-DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Debug"
# [Release] : VTK and PCL set to ON in Release configuration, except for 'all'
# [Release] only cgal
- BTYPE="-DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=ON -DBUILD_USE_VTK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release"
# [Release] only openmesh
- BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=ON -DBUILD_USE_VTK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release"
# [Release] only aif
- BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=ON -DBUILD_USE_VTK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release"
#
# [Release] all
- BTYPE="-DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release"
# doc
#- GENDOC="true" # ---> https://liris.cnrs.fr/mepp/doc/nightly/ <---
#-------------------------------------------------------------------------
# matrix details :
#-------------------------------------------------------------------------
# - 8x clang under Linux xenial 16.04 LTS (debug and release)
#
# - 2x gcc under Linux xenial 16.04 LTS (debug and release)
#-------------------------------------------------------------------------
# - 2x clang under OS X with Apple LLVM (debug and release)
# - 1x clang under OS X with Apple LLVM (release - DOCUMENTATION)
#-------------------------------------------------------------------------
matrix:
fast_finish: true
exclude:
# exclude gcc-osx
- os: osx
compiler: gcc
# exclude 'doc' under clang-linux and under gcc-linux
- os: linux
compiler: clang
env: GENDOC="true"
- os: linux
compiler: gcc
env: GENDOC="true"
# exclude 'only cgal' under clang-osx and under gcc-linux
- os: osx
compiler: clang
env: BTYPE="-DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Debug"
- os: osx
compiler: clang
env: BTYPE="-DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=ON -DBUILD_USE_VTK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release"
- os: linux
compiler: gcc
env: BTYPE="-DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Debug"
- os: linux
compiler: gcc
env: BTYPE="-DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=ON -DBUILD_USE_VTK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release"
# exclude 'only openmesh' under clang-osx and under gcc-linux
- os: osx
compiler: clang
env: BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Debug"
- os: osx
compiler: clang
env: BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=ON -DBUILD_USE_VTK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release"
- os: linux
compiler: gcc
env: BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Debug"
- os: linux
compiler: gcc
env: BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=OFF -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=ON -DBUILD_USE_VTK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release"
# exclude 'only aif' under clang-osx and under gcc-linux
- os: osx
compiler: clang
env: BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Debug"
- os: osx
compiler: clang
env: BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=ON -DBUILD_USE_VTK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release"
- os: linux
compiler: gcc
env: BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Debug"
- os: linux
compiler: gcc
env: BTYPE="-DBUILD_USE_CGAL=OFF -DBUILD_USE_OPENMESH=OFF -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=ON -DBUILD_USE_VTK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release"
addons:
apt:
packages:
- cmake
- libboost-dev
- libboost-thread-dev
- libboost-system-dev
- libboost-filesystem-dev
- libboost-iostreams-dev
- libeigen3-dev
- libgmp-dev
- libmpfr-dev
# - libqt4-dev # now, no more Qt4 in Ubuntu
# - libqt4-opengl-dev # now, no more Qt4 in Ubuntu
- qtdeclarative5-dev
- libqt5opengl5-dev
- libopenscenegraph-dev
- doxygen
- graphviz
- libvtk7-dev
- libflann-dev
- libproj-dev
# - libqhull-dev # no longer useful
# - libpcl-dev # 1) CAUTION -> is LINKED with QT5, so BOOM with QT4 & clang ! - 2) For DISABLE_LIBUSB-1.0 warning pb, see : https://github.com/SergioRAgostinho/pcl/commit/72faf34aeaeedb0e45ccb81258fddd38869355b9
- libpcl-dev
- p7zip-full
- xvfb
install:
- export TRAVIS=YES
- export QT_X11_NO_MITSHM=1
- cmake --version
- DOC="false"
#
# linux :
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then openssl aes-256-cbc -K $encrypted_1b44e42e3841_key -iv $encrypted_1b44e42e3841_iv -in .travis/mepp-public-mt.enc -out .travis/mepp-public-mt -d; chmod 600 .travis/mepp-public-mt; fi
#
# ---> because under xenial, cgal is v4.7 !!!
#OFF - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd /tmp; wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/src/CGAL-4.14-src-hdr-only.7z > /dev/null 2>&1; fi
#OFF - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then 7z x CGAL-4.14-src-hdr-only.7z > /dev/null && cd $TRAVIS_BUILD_DIR; fi
#OFF - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CGAL_DIR=/tmp/CGAL-4.14-hdr-only; fi
# ---> because under focal, cgal is v5.0.2 !!!
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd /tmp; wget --no-check-certificate https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.14.3/CGAL-4.14.3.zip > /dev/null 2>&1; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then 7z x CGAL-4.14.3.zip > /dev/null && cd $TRAVIS_BUILD_DIR; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CGAL_DIR=/tmp/CGAL-4.14.3; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd /tmp; wget --no-check-certificate https://github.com/CGAL/cgal/releases/download/v5.2.1/CGAL-5.2.1.zip > /dev/null 2>&1; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then 7z x CGAL-5.2.1.zip > /dev/null && cd $TRAVIS_BUILD_DIR; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CGAL_DIR=/tmp/CGAL-5.2.1; fi
#
# ---> because under xenial libvtk6-dev package has a bug
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo ln -s /usr/lib/x86_64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/libvtkproj4.so; fi
#
# ---> because no openmesh package under linux
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd /tmp; wget --no-check-certificate https://www.openmesh.org/media/Releases/8.1/OpenMesh-8.1.tar.gz > /dev/null 2>&1; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then tar zxf OpenMesh-8.1.tar.gz; cd OpenMesh-8.1; mkdir build && cd build; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DCMAKE_RULE_MESSAGES=OFF; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make -j2 && sudo make install && cd $TRAVIS_BUILD_DIR; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd /tmp; wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/travis-focal/OpenMesh-8.1.travis-focal.tgz > /dev/null 2>&1; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then tar zxf OpenMesh-8.1.travis-focal.tgz; cd OpenMesh-8.1/build; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo make install && cd $TRAVIS_BUILD_DIR; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make -j2; cd ..; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then rsync -azv --delete --delete-after -e 'ssh -oStrictHostKeyChecking=no -i /home/travis/build/mtola/MEPP2/.travis/mepp-public-mt' . [email protected]:/home-projets/mepp/public_html/travis/OpenMesh-8.1/; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd build; sudo make install && cd $TRAVIS_BUILD_DIR; fi
#
# ---> because under xenial libpcl-dev is LINKED with QT5 ! (and is v1.7.2)
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd /tmp; wget --no-check-certificate https://github.com/PointCloudLibrary/pcl/archive/pcl-1.9.1.tar.gz > /dev/null 2>&1; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then tar zxf pcl-1.9.1.tar.gz; cd pcl-pcl-1.9.1; mkdir build && cd build; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DCMAKE_RULE_MESSAGES=OFF -DPCL_ONLY_CORE_POINT_TYPES=ON -DBUILD_global_tests=OFF; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make -j2 && sudo make install && cd $TRAVIS_BUILD_DIR; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd /tmp; wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/travis-focal/pcl-pcl-1.9.1.travis-focal.tgz > /dev/null 2>&1; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then tar zxf pcl-pcl-1.9.1.travis-focal.tgz; cd pcl-pcl-1.9.1/build; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo make install && cd $TRAVIS_BUILD_DIR; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make -j2; cd ..; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then rsync -azv --delete --delete-after -e 'ssh -oStrictHostKeyChecking=no -i /home/travis/build/mtola/MEPP2/.travis/mepp-public-mt' . [email protected]:/home-projets/mepp/public_html/travis/pcl-pcl-1.9.1/; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd build; sudo make install && cd $TRAVIS_BUILD_DIR; fi
#
# osx :
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi # first update
#
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew info boost; fi # to show boost version
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink boost; fi # ---> unlink boost 1.71
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula; mv boost.rb boost.rb.old; wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/travis-osx/Formula/boost170/boost.rb; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd $TRAVIS_BUILD_DIR; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install boost; fi # ---> install boost 1.70
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew info boost; fi # to show boost version
#
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew info cgal; fi # to show cgal version
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade cgal; fi # to install cgal 4.12 (for test)
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink cgal; fi # ---> unlink cgal 4.11
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula; mv cgal.rb cgal.rb.old; wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/travis-osx/Formula/cgal4111/cgal.rb; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd $TRAVIS_BUILD_DIR; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install cgal; fi # ---> install cgal 4.11.1
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew info cgal; fi # to show cgal version
# -> PATCH for cgal 4.14 bug - missing 12x inline in one header - no more problem with cgal 4.14.1
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd /usr/local/include/CGAL/IO; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mv write_ply_points.h write_ply_points.h.old; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/src/cgal414/write_ply_points.h; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd $TRAVIS_BUILD_DIR; fi
# -> PATCH for cgal 4.14 bug - missing 12x inline in one header - no more problem with cgal 4.14.1
#
# ---> because we want osg34 under osx !!!
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi # important to avoid yet another possible homebrew auto-update since the first 'brew update' above
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula; mv wget.rb wget.rb.old; wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/travis-osx/Formula/wget119/wget.rb; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula; mv open-scene-graph.rb open-scene-graph.rb.old; wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/travis-osx/Formula/osg34/open-scene-graph.rb; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd $TRAVIS_BUILD_DIR; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python@2; fi # TEMP ???
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install open-scene-graph; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install open-mesh; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install doxygen graphviz; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then travis_wait 100 brew install cartr/qt4/qt-legacy-formula; fi # but, travis_wait -> in fact : https://github.com/travis-ci/docs-travis-ci-com/pull/439 :-( -> so force Sierra for cartr/qt4 !
#STOP QT4 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew tap cartr/qt4; fi
#STOP QT4 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install qt@4; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link qt@5; fi # ---> now link qt5
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo ln -s /usr/local/opt/qt@5/mkspecs /usr/local/mkspecs; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo ln -s /usr/local/opt/qt@5/plugins /usr/local/plugins; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install Caskroom/cask/xquartz; fi # only for Yosemite (OS X 10.10) !
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then travis_wait 60 brew install open-scene-graph --with-qt; fi
### - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install eigen; fi # MT - 19/12/18 - now eigen is already installed
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew tap homebrew/science; fi # to create homebrew-science folder (for ftp below...) # no need now since vtk is again in homebrew-core
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi # important to avoid yet another possible homebrew auto-update since the first 'brew update' above
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula; mv vtk.rb vtk.rb.old; wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/travis-osx/Formula/vtk800/vtk.rb; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd $TRAVIS_BUILD_DIR; fi
#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then rm '/usr/local/include/c++'; fi # -> because PB with gcc...
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then travis_wait 60 brew install vtk; fi # -> after more than 4 years vtk is now BACK from homebrew/science to homebrew-core !!!???
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi # important to avoid yet another possible homebrew auto-update since the first 'brew update' above
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-science; mv pcl.rb pcl.rb.old; wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/travis-osx/Formula/pcl180_7/pcl.rb; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd $TRAVIS_BUILD_DIR; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then travis_wait 60 brew install homebrew/science/pcl --without-vtk --without-apps; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then travis_wait 60 brew install pcl; fi # -> pcl is now in homebrew-core and no more in homebrew/science
#
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cmake --version; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew info cmake; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew info boost; fi # to show boost version
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew info cgal; fi # to show cgal version
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd /tmp; wget --no-check-certificate https://download.gforge.liris.cnrs.fr/meppbin/travis-osx/cmake-3.4.3-Darwin-x86_64.tar.gz; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then tar zxvf cmake-3.4.3-Darwin-x86_64.tar.gz; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd $TRAVIS_BUILD_DIR; fi
#
# documentation :
- if [[ "$GENDOC" == "true" ]]; then if [[ "$Mepp_Original_Repo" == "true" ]]; then if [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then DOC="true"; echo "---> DOCUMENTATION <---"; fi; fi; fi
- if [[ "$DOC" == "true" ]]; then openssl aes-256-cbc -K $encrypted_545b0c0887e9_key -iv $encrypted_545b0c0887e9_iv -in .travis/mepp-public.enc -out .travis/mepp-public -d; chmod 600 .travis/mepp-public; fi
script:
- mkdir build && cd build
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then if [[ "$DOC" == "false" ]]; then cmake .. -DBUILD_USE_QT5=YES $BTYPE; fi; fi # here NOW we force QT5 (because no more QT4 in Ubuntu)
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then if [[ "$DOC" == "true" ]]; then cmake .. -DBUILD_USE_QT5=YES -DBUILD_DOCUMENTATION=ON -DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=ON -DBUILD_USE_VTK=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release; fi; fi # here NOW we force QT5 (because no more QT4 in Ubuntu)
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "false" ]]; then /tmp/cmake-3.4.3-Darwin-x86_64/CMake.app/Contents/bin/cmake .. $BTYPE; fi; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "true" ]]; then /tmp/cmake-3.4.3-Darwin-x86_64/CMake.app/Contents/bin/cmake .. -DBUILD_DOCUMENTATION=ON -DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release; fi; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "false" ]]; then cmake .. -DBUILD_USE_QT5=YES $BTYPE -DBUILD_USE_CGAL=OFF; fi; fi # here NOW we force QT5 (because no more QT4 in Brew) and force BUILD_USE_CGAL=OFF (because 50 mn timeout) !!!
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "true" ]]; then cmake .. -DBUILD_USE_QT5=YES -DBUILD_DOCUMENTATION=ON -DBUILD_USE_CGAL=ON -DBUILD_USE_OPENMESH=ON -DBUILD_USE_AIF=ON -DBUILD_USE_GUI=ON -DBUILD_USE_PCL=OFF -DBUILD_USE_VTK=OFF -DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Release; fi; fi # here NOW we force QT5 (because no more QT4 in Brew) and force EXAMPLES=OFF (because 50 mn timeout) !!!
#
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make -j 2; fi # BEFORE it was '-j 3' here but NOW we get "virtual memory exhausted: Cannot allocate memory" for Travis job number 9 !!!
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then make -j 3; fi # ---> travis_wait 60 make ?
#
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then xvfb-run --server-args="-screen 0, 1280x1024x24" ctest -j 3 --output-on-failure; fi # MANDATORY for qt5 ! -> --server-args="-screen 0, 1280x1024x24"
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ctest -j 3 --output-on-failure; fi
#
# linux only (add qt5 after qt4 in the same job) :
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then if [[ "$DOC" == "false" ]]; then sudo apt-get -y install qtdeclarative5-dev libqt5opengl5-dev; fi; fi # ---> now install qt5
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then if [[ "$DOC" == "false" ]]; then cd ..; fi; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then if [[ "$DOC" == "false" ]]; then mkdir build_linux_qt5 && cd build_linux_qt5 && cmake .. $BTYPE -DBUILD_USE_QT5=YES; fi; fi
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then if [[ "$DOC" == "false" ]]; then make -j 2; fi; fi # BEFORE it was '-j 3' here but NOW we get "virtual memory exhausted: Cannot allocate memory" for Travis job number 9 !!!
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then if [[ "$DOC" == "false" ]]; then xvfb-run --server-args="-screen 0, 1280x1024x24" ctest -j 3 --output-on-failure; fi; fi
#
# osx only (add qt5 after qt4 in the same job) :
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "false" ]]; then brew unlink qt@4; fi; fi # ---> now unlink qt4
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "false" ]]; then brew install qt; fi; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "false" ]]; then brew link qt --force; fi; fi # ---> now link qt5
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "false" ]]; then cd ..; fi; fi
## - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "false" ]]; then mkdir build_osx_qt5 && cd build_osx_qt5 && /tmp/cmake-3.4.3-Darwin-x86_64/CMake.app/Contents/bin/cmake .. $BTYPE -DBUILD_USE_QT5=YES -DQT5_DIR=/usr/local/opt/qt5; fi; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "false" ]]; then mkdir build_osx_qt5 && cd build_osx_qt5 && cmake .. $BTYPE -DBUILD_USE_QT5=YES -DQT5_DIR=/usr/local/opt/qt5; fi; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "false" ]]; then make -j 3; fi; fi # ---> travis_wait 60 make ?
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [[ "$DOC" == "false" ]]; then ctest -j 3 --output-on-failure; fi; fi
#
# building the documentation
after_success:
- if [[ "$DOC" == "true" ]]; then cd ../build; fi # if we build with qt5
#
- if [[ "$DOC" == "true" ]]; then make doc; fi
- if [[ "$DOC" == "true" ]]; then rsync -azv --delete --delete-after -e 'ssh -o StrictHostKeyChecking=no -i ../.travis/mepp-public' Doc/Doxygen/html/ [email protected]:/home-projets/mepp/public_html/doc/nightly-github/; fi