-
Notifications
You must be signed in to change notification settings - Fork 47
/
.travis.yml
65 lines (52 loc) · 1.2 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
#########################
# project configuration #
#########################
# C++ project
language: cpp
dist: trusty
sudo: required
################
# build matrix #
################
matrix:
include:
# OSX / Clang
- os: osx
osx_image: xcode9.4
- os: osx
osx_image: xcode10.2
# Linux / GCC
- os: linux
compiler: gcc
env: MATRIX_EVAL="CXX=g++-7 && CXXFLAGS=-std=c++17"
addons:
apt:
sources: ['ubuntu-toolchain-r-test' ]
packages: ['g++-7' ]
# Linux / Clang
- os: linux
compiler: clang
env: MATRIX_EVAL="CXX=clang++-5.0 CXXFLAGS=-std=c++1z"
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0']
packages: ['g++-6', 'clang-5.0' ]
################
# build script #
################
before_install:
- eval "${MATRIX_EVAL}"
script:
# get CMake and Ninja (only for systems with brew - macOS)
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update
brew install openssl@1.1
fi
# show OS/compiler version
- uname -a
- $CXX --version
# compile and execute unit tests
- mkdir -p build && cd build
- cmake .. ${CMAKE_OPTIONS} && make
- ctest -C Release -V -j