forked from lagadic/visp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
160 lines (149 loc) · 6.76 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
language: cpp
env:
global:
- VISP_INPUT_IMAGE_PATH=${TRAVIS_BUILD_DIR}
jobs:
include:
- os: linux
dist: xenial
arch: amd64
compiler: gcc
name: "Xenial AMD64 gcc"
- os: linux
dist: bionic
arch: amd64
compiler: gcc
name: "Bionic AMD64 gcc"
- os: linux
dist: bionic
arch: amd64
compiler: clang
name: "Bionic AMD64 clang"
- os: linux
dist: bionic
arch: arm64
compiler: gcc
name: "Bionic Armc64 gcc"
- os: linux
dist: bionic
arch: ppc64le
compiler: gcc
name: "Bionic ppc64le gcc"
- os: linux
dist: bionic
arch: s390x
compiler: gcc
name: "Bionic s390x gcc"
- os: osx
# Set Xcode version to 10.1 (default is 9.4) / macOS 10.13
osx_image: xcode10.1
compiler: clang
name: "macOS 10.13 AMD64 clang"
- os: osx
# Set Xcode version to 11.3 / macOS 10.14
osx_image: xcode11.3
compiler: gcc
name: "macOS 10.14 AMD64 gcc"
- os: osx
# Set Xcode version to 11.3 / macOS 10.14
osx_image: xcode11.3
compiler: clang
name: "macOS 10.14 AMD64 clang"
# jobs to test ViSP Java build
- os: linux
dist: bionic
arch: amd64
compiler: gcc
env: BUILD_JAVA=1
name: "Bionic AMD64 gcc Java"
- os: osx
osx_image: xcode11.3
compiler: clang
env: BUILD_JAVA=1
name: "macOS 10.14 AMD64 gcc Java"
before_install:
- git clone --depth 1 https://github.com/lagadic/ViSP-images ${TRAVIS_BUILD_DIR}/ViSP-images
# - cd ${TRAVIS_BUILD_DIR} && { curl -O http://visp-doc.inria.fr/download/dataset/ViSP-images-3.0.0.zip ; cd -; }
# - unzip ${TRAVIS_BUILD_DIR}/ViSP-images-3.0.0.zip -d ${TRAVIS_BUILD_DIR}
# Get libs for OSX
- "if [ $TRAVIS_OS_NAME = 'osx' ]; then brew update; fi"
- "if [ $TRAVIS_OS_NAME = 'osx' ]; then /usr/bin/yes | pip2 uninstall numpy; fi"
# Issue during opencv installation
# ==> Pouring gcc-8.2.0.high_sierra.bottle.1.tar.gz
# Error: The `brew link` step did not complete successfully
# The formula built, but is not symlinked into /usr/local
# Could not symlink include/c++
# Target /usr/local/include/c++
# already exists. You may want to remove it:
# rm '/usr/local/include/c++'
# To force the link and overwrite all conflicting files:
# brew link --overwrite gcc
# Work around before caling brew install opencv
#- "if [ $TRAVIS_OS_NAME = 'osx' ]; then brew update; fi"
#- "if [ $TRAVIS_OS_NAME = 'osx' ]; then brew install gcc || brew link --overwrite gcc; fi"
#- "if [ $TRAVIS_OS_NAME = 'osx' ]; then brew upgrade; fi"
# end work around
# Work around for issue:
# dyld: Library not loaded: /usr/local/opt/glog/lib/libglog.0.3.5.dylib
# Referenced from: /usr/local/opt/opencv/lib/libopencv_sfm.3.4.dylib
# Reason: image not found
- "if [ $TRAVIS_OS_NAME = 'osx' ]; then brew install glog; fi"
# end work around
# Work around for issue:
#==> Pouring python-3.7.6_1.high_sierra.bottle.tar.gz
# Error: The `brew link` step did not complete successfully
# The formula built, but is not symlinked into /usr/local
# Could not symlink Frameworks/Python.framework/Headers
# Target /usr/local/Frameworks/Python.framework/Headers
# is a symlink belonging to python@2. You can unlink it:
# brew unlink python@2
# To force the link and overwrite all conflicting files:
# brew link --overwrite python
- "if [ $TRAVIS_OS_NAME = 'osx' ]; then brew unlink python@2; fi"
# end work around
- "if [ $TRAVIS_OS_NAME = 'osx' ]; then brew install opencv; fi"
- "if [ $TRAVIS_OS_NAME = 'osx' ]; then brew install tesseract; fi"
- "if [ $TRAVIS_OS_NAME = 'osx' ]; then export OpenCV_DIR=/usr/local/opt/opencv; fi"
- "if [ $TRAVIS_OS_NAME = 'osx' ]; then brew install libxml2 libdc1394 gsl; fi"
- "if [ $TRAVIS_OS_NAME = 'osx' ] && [ -n $BUILD_JAVA ]; then brew install ant; fi"
# Get libs for Linux
- "if [ $TRAVIS_OS_NAME = 'linux' ]; then sudo apt-get update -qq; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ]; then sudo apt-get install -qq liblapack-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ]; then sudo apt-get install -qq cmake libopenblas-dev libgsl0-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ]; then sudo apt-get install -qq cmake libopencv-dev libx11-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ]; then sudo apt-get install -qq libdc1394-22-dev libv4l-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ]; then sudo apt-get install -qq libcoin80-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ]; then sudo apt-get install -qq libjpeg-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ] && [ $TRAVIS_DIST = 'xenial' ]; then sudo apt-get install -qq libpng12-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ] && [ $TRAVIS_DIST = 'bionic' ]; then sudo apt-get install -qq libpng-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ]; then sudo apt-get install -qq libbz2-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ]; then sudo apt-get install -qq libogre-1.9-dev libois-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ]; then sudo apt-get install -qq libzbar-dev libdmtx-dev; fi"
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_CPU_ARCH = 'amd64' ] && [ $BUILD_JAVA ]; then sudo apt-get install -qq ant; fi"
# Workaround for linux + bionic + clang config where during test libomp.so is not found:
# error while loading shared libraries: libomp.so: cannot open shared object file: No such file or directory
- "if [ $TRAVIS_OS_NAME = 'linux' ] && [ $TRAVIS_COMPILER = 'clang' ]; then export LD_LIBRARY_PATH=/usr/local/clang-7.0.0/lib:$LD_LIBRARY_PATH; fi"
before_script:
- mkdir build
- cd build
# Build only ViSP modules and TESTS if BUILD_JAVA or if Arm64 since the build time is long
# Full Amr64 build is also done on Drone-CI
# Do not build Java if BUILD_JAVA is not set to try to decrease the build time
- if [ $BUILD_JAVA ] || [ $TRAVIS_CPU_ARCH = 'arm64' ]; then
echo "cmake .. -DBUILD_DEMOS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TUTORIALS=OFF";
cmake .. -DBUILD_DEMOS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TUTORIALS=OFF;
else
echo "cmake .. -DBUILD_JAVA=OFF -DBUILD_MODULE_visp_java=OFF -DBUILD_MODULE_visp_java_binding=OFF";
cmake .. -DBUILD_JAVA=OFF -DBUILD_MODULE_visp_java=OFF -DBUILD_MODULE_visp_java_binding=OFF;
fi
# Show 3rd parties that are detected
- cat ViSP-third-party.txt
script:
- make
- ctest --output-on-failure
notifications:
email:
recipients:
- Fabien.Spindler@inria.fr
on_success: change
on_failure: always