Add COVERAGE cmake flag for clang.

This only works with clang/llvm. Coveralls support needs to be added later.
This commit is contained in:
iphydf 2018-03-17 04:37:21 +00:00
parent 571b10149d
commit ea7ecd6d32
No known key found for this signature in database
GPG Key ID: 3855DBA2D74403C9
2 changed files with 8 additions and 0 deletions

View File

@ -89,6 +89,12 @@ if(NOT MSVC)
add_flag("-Werror")
endif()
option(COVERAGE "Track code coverage" OFF)
if(COVERAGE)
add_flag("-fprofile-instr-generate")
add_flag("-fcoverage-mapping")
endif()
option(DEBUG "Enable assertions and other debugging facilities" OFF)
if(DEBUG)
set(MIN_LOGGER_LEVEL DEBUG)
@ -457,6 +463,7 @@ function(auto_test target)
if(NOT ARGV1 STREQUAL "DONT_RUN")
add_test(NAME ${target} COMMAND ${CROSSCOMPILING_EMULATOR} auto_${target}_test)
set_tests_properties(${target} PROPERTIES TIMEOUT "${TEST_TIMEOUT_SECONDS}")
set_property(TEST ${target} PROPERTY ENVIRONMENT "LLVM_PROFILE_FILE=${target}.profraw")
endif()
endif()
endfunction()

View File

@ -54,5 +54,6 @@ function(unit_test subdir target)
target_link_modules(unit_${target}_test toxcore gtest)
set_target_properties(unit_${target}_test PROPERTIES COMPILE_FLAGS "${TEST_CXX_FLAGS}")
add_test(NAME ${target} COMMAND ${CROSSCOMPILING_EMULATOR} unit_${target}_test)
set_property(TEST ${target} PROPERTY ENVIRONMENT "LLVM_PROFILE_FILE=${target}.profraw")
endif()
endfunction()