-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.travis.yml
133 lines (120 loc) · 5.19 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
dist: trusty
sudo: false
language: cpp
compiler:
- gcc
env:
global:
- NUM_CPU="`grep processor /proc/cpuinfo | wc -l`"; echo $NUM_CPU
- BUILD_TYPE="RELEASE"
# CMAKE
- CMAKE_URL="https://cmake.org/files/v3.6/cmake-3.6.1-Linux-x86_64.tar.gz"
- CMAKE_ROOT=${HOME}/cmake
- CMAKE_SOURCE=${CMAKE_ROOT}/source
- CMAKE_INSTALL=${CMAKE_ROOT}/install
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "C36WL6IDfn3FDv/PEy5GTnVh86mo0nnGlImkLjZRjG0aEQIt7OvzMDXELDhkrVt4uIBidrpHRr7W0fWiz54ct5IKfd3TD5RfHiqP00JqSfZF7a7c65YHiqDcYy7IzC+BFPNgaxl1zbMS1MkVk8Vz6RgcWdJmf+b+BE1mWpN3oUZ45v7BNa3Nit/5MvhG83nYlts0bubWhAAsRlAPus8SG8AQdNMYpKosIqBAilh3A7b82rM1yBGaHtsD4uVVJOSXuOPpPv5gynT/7AVfUPZ6yyCJ5onKoUVfr63xWdlGoLb6AcVv4YZ55FyBoGfmdha+e6k0srwbU6SVtHJ3mMkcWGWzzsbjn28ll44UKKrXtz+T2i7cWQalcHDNyJs4Od1dxbzDg+R622FlgoUFId5oNVabRPuuPXwj0wQtswKy++8XyelB3gU7AxBXTP+6TTO/RdV5GyeL9dji6S/CwQ74ki1cRrZeuRQIWg1+eZ9JrNPUA0kNX3ZNuuGjfg88CT2VJzPBDWH7KpLHMRxhrS1YDNYlWf1H7OucJvpcWYNy9a/AWJAEBGnDFAW4TKoVYMjmjG0d+rZ4BJ21KbxM+LY2ybuaeY+Ve/uybfRIcgzoHocN5/vM/kP3rfyR0wHUJBV9aKT9nzyt2C62un6+QU1W808Tb6EouYe2ct/H+UN9Flc="
addons:
apt:
packages:
- libboost-filesystem-dev
coverity_scan:
project:
name: "simogasp/cmake-examples"
description: "Cmake tutorial"
notification_email: [email protected]
build_command_prepend: "mkdir build; cd build; cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DCMAKE_BUILD_TYPE=Release"
build_command: "make install -j2"
branch_pattern: coverity_scan
before_install:
# coverity stuff
# - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
# CMAKE most recent version
- >
if [ "$(ls -A ${CMAKE_INSTALL})" ]; then
echo "CMake found in cache.";
ls -A ${CMAKE_INSTALL}
export PATH=${CMAKE_INSTALL}/bin:${PATH};
cmake --version
else
mkdir --parent ${CMAKE_SOURCE}
mkdir --parent ${CMAKE_INSTALL}
ls -A ${CMAKE_INSTALL}
travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C ${CMAKE_INSTALL}
export PATH=${CMAKE_INSTALL}/bin:${PATH};
cmake --version
fi
before_script:
- mkdir build
- cd build
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
- export COMMONDIR=`pwd`/install/lib/cmake/;
script:
- make install -j${NUM_CPU}
# test building exe from installed
# build exampleLibFoo
- cd ${TRAVIS_BUILD_DIR}/exampleLibFoo
- mkdir build && cd build
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DFoo_DIR=${COMMONDIR}/Foo
- make install -j${NUM_CPU}
# build exampleLibFooer
- cd ${TRAVIS_BUILD_DIR}/exampleLibFooer
- mkdir build && cd build
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DFooer_DIR=${COMMONDIR}/Fooer
- make install -j${NUM_CPU}
# build exampleLibBoostFooer
- cd ${TRAVIS_BUILD_DIR}/exampleLibBoostFooer
- mkdir build && cd build
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DBoostFooer_DIR=${COMMONDIR}BoostFooer
- make install -j${NUM_CPU}
# build separately the libs
# build Foo
- cd ${TRAVIS_BUILD_DIR}/libFoo
- mkdir build && cd build
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install
- make install -j${NUM_CPU}
- export FOODIR=`pwd`/install/lib/cmake/Foo/;
# build Fooer
- cd ${TRAVIS_BUILD_DIR}/libFooer
- mkdir build && cd build
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DFoo_DIR=${FOODIR}
- make install -j2
- export FOOERDIR=`pwd`/install/lib/cmake/Fooer/;
# build BoostFooer
- cd ${TRAVIS_BUILD_DIR}/libBoostFooer
- mkdir build && cd build
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DFooer_DIR=${FOOERDIR}
- make install -j${NUM_CPU}
- export BOOSTFOOERDIR=`pwd`/install/lib/cmake/BoostFooer/;
# build separately the exe
# build exampleLibFoo
- cd ${TRAVIS_BUILD_DIR}/exampleLibFoo
- mkdir buildsolo && cd buildsolo
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DFoo_DIR=${FOODIR}
- make install -j${NUM_CPU}
# build exampleLibFooer
- cd ${TRAVIS_BUILD_DIR}/exampleLibFooer
- mkdir buildsolo && cd buildsolo
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DFooer_DIR=${FOOERDIR}
- make install -j${NUM_CPU}
# build exampleLibBoostFooer
- cd ${TRAVIS_BUILD_DIR}/exampleLibBoostFooer
- mkdir buildsolo && cd buildsolo
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DBoostFooer_DIR=${BOOSTFOOERDIR}
- make install -j${NUM_CPU}
# test build with dependencies
# build BoostFooer letting it to build the dependencies
- cd ${TRAVIS_BUILD_DIR}/libBoostFooer
- mkdir build3rdparts && cd build3rdparts
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install
- make install -j${NUM_CPU}
- export BOOSTFOOERDIR_3RDPART=`pwd`/install/lib/cmake/BoostFooer/;
# build exampleLibBoostFooer
- cd ${TRAVIS_BUILD_DIR}/exampleLibBoostFooer
- mkdir build3rdparts && cd build3rdparts
- cmake .. -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DBoostFooer_DIR=${BOOSTFOOERDIR_3RDPART}
- make install -j${NUM_CPU}
cache:
directories:
- $CMAKE_INSTALL