1
1
sudo : required
2
- dist : trusty
3
- group : edge
2
+ dist : xenial
4
3
5
4
language : cpp
6
5
cache :
7
6
- ccache
8
7
8
+ addons :
9
+ apt :
10
+ sources :
11
+ - ubuntu-toolchain-r-test
12
+ packages :
13
+ - cmake
14
+ - valgrind
15
+ - clang-8
9
16
env :
10
17
global :
11
18
- USE_CCACHE=1
14
21
- CCACHE_MAXSIZE=100M
15
22
- ARCH_FLAGS_x86='-m32' # #266: don't use SSE on 32-bit
16
23
- ARCH_FLAGS_x86_64='-msse4.2' # use SSE4.2 on 64-bit
24
+ - ARCH_FLAGS_aarch64='-march=armv8-a'
17
25
- GITHUB_REPO='Tencent/rapidjson'
18
26
- secure : " HrsaCb+N66EG1HR+LWH1u51SjaJyRwJEDzqJGYMB7LJ/bfqb9mWKF1fLvZGk46W5t7TVaXRDD5KHFx9DPWvKn4gRUVkwTHEy262ah5ORh8M6n/6VVVajeV/AYt2C0sswdkDBDO4Xq+xy5gdw3G8s1A4Inbm73pUh+6vx+7ltBbk="
19
27
20
- before_install :
21
- - sudo apt-add-repository -y ppa:ubuntu-toolchain-r/test
22
- - sudo apt-get update -qq
23
- - sudo apt-get install -y cmake valgrind g++-multilib libc6-dbg:i386 --allow-unauthenticated
24
-
25
28
matrix :
26
29
include :
27
30
# gcc
28
31
- env : CONF=release ARCH=x86 CXX11=ON
29
32
compiler : gcc
33
+ arch : amd64
30
34
- env : CONF=release ARCH=x86_64 CXX11=ON
31
35
compiler : gcc
36
+ arch : amd64
32
37
- env : CONF=debug ARCH=x86 CXX11=OFF
33
38
compiler : gcc
39
+ arch : amd64
34
40
- env : CONF=debug ARCH=x86_64 CXX11=OFF
35
41
compiler : gcc
42
+ arch : amd64
43
+ - env : CONF=release ARCH=aarch64 CXX11=ON
44
+ compiler : gcc
45
+ arch : arm64
46
+ - env : CONF=debug ARCH=aarch64 CXX11=OFF
47
+ compiler : gcc
48
+ arch : arm64
36
49
# clang
37
50
- env : CONF=debug ARCH=x86 CXX11=ON CCACHE_CPP2=yes
38
51
compiler : clang
52
+ arch : amd64
39
53
- env : CONF=debug ARCH=x86_64 CXX11=ON CCACHE_CPP2=yes
40
54
compiler : clang
55
+ arch : amd64
41
56
- env : CONF=debug ARCH=x86 CXX11=OFF CCACHE_CPP2=yes
42
57
compiler : clang
58
+ arch : amd64
43
59
- env : CONF=debug ARCH=x86_64 CXX11=OFF CCACHE_CPP2=yes
44
60
compiler : clang
61
+ arch : amd64
45
62
- env : CONF=release ARCH=x86 CXX11=ON CCACHE_CPP2=yes
46
63
compiler : clang
64
+ arch : amd64
47
65
- env : CONF=release ARCH=x86_64 CXX11=ON CCACHE_CPP2=yes
48
66
compiler : clang
67
+ arch : amd64
68
+ - env : CONF=debug ARCH=aarch64 CXX11=ON CCACHE_CPP2=yes
69
+ compiler : clang
70
+ arch : arm64
71
+ - env : CONF=debug ARCH=aarch64 CXX11=OFF CCACHE_CPP2=yes
72
+ compiler : clang
73
+ arch : arm64
49
74
# coverage report
50
75
- env : CONF=debug ARCH=x86 CXX11=ON GCOV_FLAGS='--coverage'
51
76
compiler : gcc
77
+ arch : amd64
52
78
cache :
53
79
- ccache
54
80
- pip
@@ -57,6 +83,16 @@ matrix:
57
83
- coveralls -r .. --gcov-options '\-lp' -e thirdparty -e example -e test -e build/CMakeFiles -e include/rapidjson/msinttypes -e include/rapidjson/internal/meta.h -e include/rapidjson/error/en.h
58
84
- env : CONF=debug ARCH=x86_64 GCOV_FLAGS='--coverage'
59
85
compiler : gcc
86
+ arch : amd64
87
+ cache :
88
+ - ccache
89
+ - pip
90
+ after_success :
91
+ - pip install --user cpp-coveralls
92
+ - coveralls -r .. --gcov-options '\-lp' -e thirdparty -e example -e test -e build/CMakeFiles -e include/rapidjson/msinttypes -e include/rapidjson/internal/meta.h -e include/rapidjson/error/en.h
93
+ - env : CONF=debug ARCH=aarch64 GCOV_FLAGS='--coverage'
94
+ compiler : gcc
95
+ arch : arm64
60
96
cache :
61
97
- ccache
62
98
- pip
@@ -73,13 +109,24 @@ matrix:
73
109
packages :
74
110
- doxygen
75
111
112
+ before_install :
113
+ - if [ "x86_64" = "$(arch)" ]; then sudo apt-get install -y g++-multilib libc6-dbg:i386 --allow-unauthenticated; fi
114
+
76
115
before_script :
77
- - ccache -s
78
- # hack to avoid Valgrind bug (https://bugs.kde.org/show_bug.cgi?id=326469),
79
- # exposed by merging PR#163 (using -march=native)
80
- # TODO: Since this bug is already fixed. Remove this when valgrind can be upgraded.
81
- - sed -i "s/-march=native//" CMakeLists.txt
82
- - mkdir build
116
+ # travis provides clang-7 for amd64 and clang-3.8 for arm64
117
+ # here use clang-8 to all architectures as clang-7 is not available for arm64
118
+ - if [ -f /usr/bin/clang++-8 ]; then
119
+ sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-8 1000;
120
+ sudo update-alternatives --config clang++;
121
+ export PATH=/usr/bin:$PATH;
122
+ fi
123
+ - if [ "$CXX" = "clang++" ]; then export CCACHE_CPP2=yes; fi
124
+ - ccache -s
125
+ # hack to avoid Valgrind bug (https://bugs.kde.org/show_bug.cgi?id=326469),
126
+ # exposed by merging PR#163 (using -march=native)
127
+ # TODO: Since this bug is already fixed. Remove this when valgrind can be upgraded.
128
+ - sed -i "s/-march=native//" CMakeLists.txt
129
+ - mkdir build
83
130
84
131
script :
85
132
- if [ "$CXX" = "clang++" ]; then export CXXFLAGS="-stdlib=libc++ ${CXXFLAGS}"; fi
0 commit comments