File: CodeCoverage.cmake

package info (click to toggle)
uncrustify 0.68.1%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 18,000 kB
  • sloc: cpp: 56,567; ansic: 19,840; cs: 3,097; python: 2,717; objc: 1,650; java: 510; sh: 390; awk: 150; perl: 63; makefile: 7
file content (33 lines) | stat: -rw-r--r-- 1,601 bytes parent folder | download | duplicates (3)
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
#
# Code Coverage
#

if ( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
    message( WARNING "Code coverage results with an optimised (non-Debug) build may be misleading" )
endif ( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )

if ( NOT DEFINED CODECOV_OUTPUTFILE )
    set( CODECOV_OUTPUTFILE cmake_coverage.output )
endif ( NOT DEFINED CODECOV_OUTPUTFILE )

if ( NOT DEFINED CODECOV_HTMLOUTPUTDIR )
    set( CODECOV_HTMLOUTPUTDIR coverage_results )
endif ( NOT DEFINED CODECOV_HTMLOUTPUTDIR )

if ( CMAKE_COMPILER_IS_GNUCXX )
    find_program( CODECOV_LCOV lcov )
    find_program( CODECOV_GENHTML genhtml )
    set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -Wall -W -Wshadow \
    -Wunused-variable -Wunused-parameter -Wunused-function -Wunused \
    -Wno-system-headers -Wno-deprecated -Woverloaded-virtual -Wwrite-strings \
    -fprofile-arcs -ftest-coverage" )
    link_libraries( gcov )
    set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage" )
    add_custom_target( coverage_init ALL ${CODECOV_LCOV} --base-directory ${PROJECT_SOURCE_DIR}/src
        --directory ${CMAKE_BINARY_DIR} --output-file ${CODECOV_OUTPUTFILE} --no-external --capture --initial
        DEPENDS ${CODECOVERAGE_DEPENDS})
    add_custom_target( coverage          ${CODECOV_LCOV} --base-directory ${PROJECT_SOURCE_DIR}/src
        --directory ${CMAKE_BINARY_DIR} --output-file ${CODECOV_OUTPUTFILE} --no-external --capture)
    add_custom_target( coverage_html     ${CODECOV_GENHTML} -o ${CODECOV_HTMLOUTPUTDIR} ${CODECOV_OUTPUTFILE}
        DEPENDS coverage )
endif ( CMAKE_COMPILER_IS_GNUCXX )