-
Notifications
You must be signed in to change notification settings - Fork 185
/
.travis.yml
92 lines (91 loc) · 2.54 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
env:
- BUILD_DOCS=false
jobs:
include:
- # only build docs on main
if: branch = main
env: BUILD_DOCS=true
language: cpp
matrix:
include:
- os: linux
dist: xenial
addons:
apt:
sources:
- sourceline: 'ppa:beineri/opt-qt-5.12.1-xenial'
packages:
- qt512base valgrind
- doxygen
env:
- QMAKESPEC=linux-g++
- EVAL="CC=gcc && CXX=g++"
- CFLAGS="-Os"
- LDFLAGS="-Wl,--no-undefined -lm"
- QMAKEFLAGS="-config release"
- QT_NO_CPU_FEATURE=rdrnd
- os: linux
dist: xenial
addons:
apt:
sources:
- sourceline: 'ppa:beineri/opt-qt-5.12.1-xenial'
packages:
- qt512base
env:
- QMAKESPEC=linux-clang
- EVAL="CC=clang && CXX=clang++"
- CFLAGS="-Oz"
- LDFLAGS="-Wl,--no-undefined -lm"
- QMAKEFLAGS="-config release"
- MAKEFLAGS=-s
- TESTARGS=-silent
- os: linux
dist: xenial
env:
- QMAKESPEC=linux-gcc-freestanding
- EVAL="CXX=false"
- CFLAGS="-ffreestanding -Os"
- LDFLAGS="-Wl,--no-undefined -lm"
- os: linux
dist: xenial
env:
- QMAKESPEC=linux-gcc-no-math
- EVAL="CXX=false && touch src/math.h src/float.h"
- CFLAGS="-ffreestanding -DCBOR_NO_FLOATING_POINT -Os"
- LDFLAGS="-Wl,--no-undefined"
- LDLIBS=""
- os: osx
env:
- QMAKESPEC=macx-clang
- CFLAGS="-Oz"
- QMAKEFLAGS="-config debug"
- MAKEFLAGS=-s
- TESTARGS=-silent
- PATH=/usr/local/opt/qt5/bin:$PATH
install:
- if [ "${TRAVIS_OS_NAME}" != "linux" ]; then
brew update;
brew install qt5;
fi
script:
- PATH=`echo /opt/qt*/bin`:$PATH
- eval "$EVAL"
- make -s -f Makefile.configure configure | tee .config
- make -k
CFLAGS="$CFLAGS -march=native -g1 -Wall -Wextra -Werror"
CPPFLAGS="-DNDEBUG -DCBOR_ENCODER_WRITER_CONTROL=-1 -DCBOR_PARSER_READER_CONTROL=-1"
lib/libtinycbor.a
- size lib/libtinycbor.a | tee sizes
- make -s clean
- make -k
CFLAGS="$CFLAGS -O0 -g"
LDFLAGS="$LDFLAGS" ${LDLIBS+LDLIBS="$LDLIBS"}
- grep -q freestanding-pass .config || make
QMAKEFLAGS="$QMAKEFLAGS QMAKE_CXX=$CXX"
tests/Makefile
- grep -q freestanding-pass .config ||
(cd tests && make TESTARGS=-silent check -k
TESTRUNNER=`which valgrind 2>/dev/null`)
- make -s clean
- ! [ $BUILD_DOCS ] || ./scripts/update-docs.sh