-
Notifications
You must be signed in to change notification settings - Fork 39
/
.travis.yml
87 lines (75 loc) · 2.39 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
dist: xenial
sudo: required
language: cpp
git:
depth: false
matrix:
include:
- os: linux
compiler: gcc
cache:
directories:
- $HOME/boost
- $HOME/json
- os: linux
compiler: clang
cache:
directories:
- $HOME/boost
- $HOME/json
- os: osx
osx_image: xcode10.3
compiler: clang
cache:
directories:
- /usr/local/Cellar/cryptopp
- $HOME/Library/Caches/Homebrew
- os: osx
osx_image: xcode11.3
compiler: clang
cache:
directories:
- /usr/local/Cellar/cryptopp
- $HOME/Library/Caches/Homebrew
addons:
apt:
sources:
- sourceline: 'deb [arch=amd64] https://dl.bintray.com/decentfoundation/ubuntu xenial libpbc'
key_url: 'https://bintray.com/user/downloadSubjectPublicKey?username=decentfoundation'
packages:
- doxygen
- libcrypto++-dev
- libcurl4-openssl-dev
- libpbc-dev
before_cache:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew cleanup;
fi
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
test -L /usr/local/opt/cryptopp || test ! -d /usr/local/Cellar/cryptopp || brew link cryptopp || true;
fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update &&
brew bundle cleanup --force &&
brew bundle install --verbose &&
brew link --force readline;
fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
test -d $HOME/boost/lib || (wget -nv https://sourceforge.net/projects/boost/files/boost/1.65.1/boost_1_65_1.tar.gz && tar xf boost_1_65_1.tar.gz && cd boost_1_65_1 && ./bootstrap.sh --prefix=$HOME/boost && ./b2 -j$(nproc) install);
fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
test -d $HOME/json/include || (wget -nv https://github.com/nlohmann/json/archive/v3.7.3.tar.gz && tar xf v3.7.3.tar.gz && cd json-3.7.3 && cmake -DCMAKE_INSTALL_PREFIX=$HOME/json . && make -j$(nproc) install);
fi
script:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/DCore .;
fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/DCore -DCMAKE_PREFIX_PATH=$HOME/json -DBOOST_ROOT=$HOME/boost .;
fi
- make -j$(nproc) install
notifications:
email:
on_success: never
on_failure: always