File tree Expand file tree Collapse file tree 3 files changed +28
-13
lines changed Expand file tree Collapse file tree 3 files changed +28
-13
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,21 @@ matrix:
23
23
# GCC on Linux
24
24
# #########################################################
25
25
26
+ # Coverage, GCC 7, draft enabled, latest libzmq (default)
27
+ - os : linux
28
+ before_install :
29
+ - pip install --user cpp-coveralls
30
+ addons :
31
+ apt :
32
+ sources :
33
+ - ubuntu-toolchain-r-test
34
+ packages :
35
+ - g++-7
36
+ env :
37
+ - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" ENABLE_DRAFTS=ON COVERAGE=ON
38
+ after_success :
39
+ - coveralls -r . -E ".*external.*" -E ".*CMakeFiles.*" -E ".*tests/" -E ".*demo/" -E ".*libzmq.*/" -b cppzmq-build --gcov-options '\-lp'
40
+
26
41
# GCC default, draft disabled, older libzmq with pkg-config
27
42
- os : linux
28
43
env : ZMQ_VERSION=4.2.0 BUILD_TYPE=pkgconfig
@@ -51,6 +66,7 @@ matrix:
51
66
- g++-7
52
67
env :
53
68
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" ENABLE_DRAFTS=ON
69
+
54
70
# - env: BUILD_TYPE=cmake DO_CLANG_FORMAT_CHECK=1 CLANG_FORMAT=/usr/local/clang-5.0.0/bin/clang-format
55
71
# os: linux
56
72
# addons:
@@ -60,14 +76,9 @@ matrix:
60
76
# packages:
61
77
# - clang-5.0
62
78
63
- before_install :
64
- - if [ "$TRAVIS_OS_NAME" = "linux" ]; then pip install --user cpp-coveralls; fi
65
-
66
79
# Build and check this project
67
80
script :
68
81
- eval "${MATRIX_EVAL}"
69
82
- cmake --version
70
83
- ./ci_build.sh
71
84
72
- after_success :
73
- - if [ "$TRAVIS_OS_NAME" = "linux" ]; then coveralls --root . -E ".*external.*" -E ".*CMakeFiles.*" -E ".*tests/" -E ".*demo/" -E ".*libzmq/"; fi
Original file line number Diff line number Diff line change 6
6
BUILD_TYPE=${BUILD_TYPE:- cmake}
7
7
ZMQ_VERSION=${ZMQ_VERSION:- 4.2.5}
8
8
ENABLE_DRAFTS=${ENABLE_DRAFTS:- OFF}
9
+ COVERAGE=${COVERAGE:- OFF}
9
10
LIBZMQ=${PWD} /libzmq-build
10
11
CPPZMQ=${PWD} /cppzmq-build
11
12
# Travis machines have 2 cores
@@ -37,7 +38,8 @@ libzmq_install() {
37
38
cppzmq_build () {
38
39
pushd .
39
40
CMAKE_PREFIX_PATH=${LIBZMQ} \
40
- cmake -H. -B${CPPZMQ} -DENABLE_DRAFTS=${ENABLE_DRAFTS}
41
+ cmake -H. -B${CPPZMQ} -DENABLE_DRAFTS=${ENABLE_DRAFTS} \
42
+ -DCOVERAGE=${COVERAGE}
41
43
cmake --build ${CPPZMQ} -- -j${JOBS}
42
44
popd
43
45
}
Original file line number Diff line number Diff line change @@ -9,11 +9,6 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
9
9
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /${CMAKE_INSTALL_LIBDIR} )
10
10
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /${CMAKE_INSTALL_BINDIR} )
11
11
12
- # we use this to get code coverage
13
- if (CMAKE_CXX_COMPILER_ID MATCHES GNU )
14
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage" )
15
- endif ()
16
-
17
12
include (cmake/googletest.cmake )
18
13
fetch_googletest (
19
14
${PROJECT_SOURCE_DIR} /cmake
@@ -32,10 +27,17 @@ add_executable(
32
27
33
28
target_link_libraries (
34
29
unit_tests
35
- gtest_main
36
- cppzmq
30
+ PRIVATE gtest_main
31
+ PRIVATE cppzmq
37
32
)
38
33
34
+ OPTION (COVERAGE "Enable gcda file generation needed by lcov" OFF )
35
+
36
+ if (COVERAGE )
37
+ target_compile_options (unit_tests PRIVATE --coverage )
38
+ target_link_libraries (unit_tests PRIVATE --coverage )
39
+ endif ()
40
+
39
41
add_test (
40
42
NAME
41
43
unit
You can’t perform that action at this time.
0 commit comments