-
Notifications
You must be signed in to change notification settings - Fork 2
/
.travis.yml
119 lines (113 loc) · 3.48 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
language: cpp
dist: bionic
env:
- CXX=g++-7 CC=gcc-7 SHOULD_USE_CONAN=ON
- CXX=g++-7 CC=gcc-7 SHOULD_USE_CONAN=OFF
- CXX=g++-8 CC=gcc-8 SHOULD_USE_CONAN=ON
- CXX=g++-8 CC=gcc-8 SHOULD_USE_CONAN=OFF
- CXX=g++-9 CC=gcc-9 SHOULD_USE_CONAN=ON
- CXX=g++-9 CC=gcc-9 SHOULD_USE_CONAN=OFF
- CXX=g++-10 CC=gcc-10 SHOULD_USE_CONAN=ON
- CXX=g++-10 CC=gcc-10 SHOULD_USE_CONAN=OFF
jobs:
include:
- os: osx
osx_image: xcode11.6
env: CXX=clang++ CC=clang SHOULD_USE_CONAN=ON
- os: osx
osx_image: xcode11.6
env: CXX=clang++ CC=clang SHOULD_USE_CONAN=OFF
before_install:
- |-
if [ $TRAVIS_OS_NAME = 'osx' ]; then
brew install python
export CMAKE_VARIANT=cmake-3.17.3-Darwin-x86_64
elif [ $TRAVIS_OS_NAME = 'linux' ]; then
sudo apt -y remove cmake
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt -qy install $CXX $CC libpng-dev libjpeg-dev libtiff-dev libraw-dev libblas-dev liblapack-dev python3-pip python3-setuptools
export CMAKE_VARIANT=cmake-3.17.3-Linux-x86_64
export CMAKE_PATH=$PWD/$CMAKE_VARIANT/bin/cmake
export CTEST_PATH=$PWD/$CMAKE_VARIANT/bin/ctest
fi
install:
#inside cmake
- mkdir new-cmake && cd new-cmake
- wget https://github.com/Kitware/CMake/releases/download/v3.17.3/$CMAKE_VARIANT.tar.gz
- tar -zxf $CMAKE_VARIANT.tar.gz
- |-
if [ $TRAVIS_OS_NAME = 'osx' ]; then
export CMAKE_PATH=$PWD/$CMAKE_VARIANT/CMake.app/Contents/bin/cmake
export CTEST_PATH=$PWD/$CMAKE_VARIANT/CMake.app/Contents/bin/ctest
elif [ $TRAVIS_OS_NAME = 'linux' ]; then
export CMAKE_PATH=$PWD/$CMAKE_VARIANT/bin/cmake
export CTEST_PATH=$PWD/$CMAKE_VARIANT/bin/ctest
fi
- $CMAKE_PATH --version
- cd ..
# inside $HOME
- sudo -H pip3 install wheel
- sudo -H pip3 install conan
- conan --version
- mkdir 3rdparty
- cd 3rdparty
#inside 3rdparty
- git clone --recursive https://github.com/boostorg/boost
- cd boost
#inside 3rdparty/boost
- ./bootstrap.sh
- ./b2 --with-filesystem
- export BOOST_ROOT=$PWD
- echo $BOOST_ROOT
- cd ../
#inside 3rdparty
- git clone https://bitbucket.org/blaze-lib/blaze.git
- cd blaze
#inside 3rdparty/blaze
- mkdir build && cd build
- $CMAKE_PATH ..
- sudo make install
- cd ../..
#inside 3rdparty
- git clone https://github.com/CLIUtils/CLI11.git
- cd CLI11
#inside 3rdparty/CLI11
- git checkout v1.9.0
- rm -r examples # do not build examples
- mkdir build && cd build
- $CMAKE_PATH -DBUILD_TESTING=OFF ..
- sudo make install
- cd ../..
#inside 3rdparty
- git clone https://github.com/catchorg/Catch2.git
- cd Catch2
#inside 3rdparty/Catch2
- mkdir build && cd build
- $CMAKE_PATH -DCATCH_BUILD_TESTING=OFF ..
- sudo make install
- cd ../..
#inside 3rdparty
- git clone https://github.com/fmtlib/fmt.git
- cd fmt
# inside 3rdparty/fmt
- mkdir build && cd build
- cmake -DFMT_TEST=OFF -DFMT_DOC=OFF ..
- sudo make install
- cd ../..
#inside 3rdparty
- git clone https://github.com/gabime/spdlog.git
- cd spdlog
#inside 3rdparty/spdlog
- mkdir build && cd build
- cmake -DSPDLOG_FMT_EXTERNAL=ON -DSPDLOG_BUILD_EXAMPLE=OFF ..
- sudo make install
- cd ../..
# finished installing dependencies, configuring project
- cd ../
#inside project directory
- ls
- mkdir build && cd build
- $CMAKE_PATH -DCMAKE_BUILD_TYPE=Release -DUSE_CONAN=$SHOULD_USE_CONAN -Dblas_lib_name="" -DCMAKE_CXX_COMPILER=$CXX -DCMAKE_C_COMPILER=$CC ..
script:
- make test_target
- $CTEST_PATH --output-on-failure