aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt29
-rw-r--r--debian/control1
-rw-r--r--tests/CMakeLists.txt5
-rw-r--r--tests/integration/CMakeLists.txt6
-rw-r--r--tests/unit/CMakeLists.txt7
5 files changed, 32 insertions, 16 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 77e2cbf..27a074b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,9 +13,6 @@ add_definitions(
set(SERVICE_LIB ${PACKAGE})
set(SERVICE_EXEC "${PACKAGE}-service")
-option(enable_tests "Build the package's automatic tests." ON)
-option(enable_coverage "Generate code coverage reports." ON)
-
##
## GNU standard paths
##
@@ -67,22 +64,22 @@ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
list(APPEND CXX_WARNING_ARGS -Wall -Wextra -Wpedantic)
endif()
-add_compile_options(-std=c++14 -fPIC -g)
+add_compile_options(-std=c++14 -fPIC)
+
+add_subdirectory(src)
+add_subdirectory(data)
+add_subdirectory(po)
##
## Testing & Coverage
##
-if(${enable_tests})
- enable_testing()
- if(${enable_coverage})
- find_package(CoverageReport)
- endif()
-endif()
+enable_testing()
+add_subdirectory(tests)
+find_package(CoverageReport)
+ENABLE_COVERAGE_REPORT(
+ TARGETS ${SERVICE_LIB} ${SERVICE_EXEC}
+ TESTS ${COVERAGE_TEST_TARGETS}
+ FILTER /usr/include ${CMAKE_BINARY_DIR}/*
+)
-add_subdirectory(src)
-add_subdirectory(data)
-add_subdirectory(po)
-if (${enable_tests})
- add_subdirectory(tests)
-endif ()
diff --git a/debian/control b/debian/control
index 6a9183a..7871d0f 100644
--- a/debian/control
+++ b/debian/control
@@ -10,6 +10,7 @@ Build-Depends: cmake,
libgudev-1.0-dev,
libproperties-cpp-dev,
# for coverage reports
+ gcovr,
lcov,
# for tests
qt5-default,
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 7be2acd..d5fb909 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -33,3 +33,8 @@ add_test(cppcheck cppcheck --enable=all -USCHEMA_DIR --error-exitcode=2 --inline
add_subdirectory(integration)
add_subdirectory(unit)
add_subdirectory(utils)
+
+set(COVERAGE_TEST_TARGETS
+ ${COVERAGE_TEST_TARGETS}
+ PARENT_SCOPE
+)
diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt
index 9ec6688..42d710e 100644
--- a/tests/integration/CMakeLists.txt
+++ b/tests/integration/CMakeLists.txt
@@ -16,9 +16,15 @@ set(TEST_LINK_LIBRARIES
function(add_qt_test_by_name name)
set(TEST_NAME ${name})
+ set(COVERAGE_TEST_TARGETS ${COVERAGE_TEST_TARGETS} ${TEST_NAME} PARENT_SCOPE)
add_executable (${TEST_NAME} ${TEST_NAME}.cpp)
add_test(${TEST_NAME} ${TEST_NAME})
set_property(TEST ${TEST_NAME} APPEND PROPERTY ENVIRONMENT ${CTEST_ENVIRONMENT})
target_link_libraries(${TEST_NAME} ${SERVICE_LINK_LIBRARIES} ${QT_LINK_LIBRARIES} ${TEST_LINK_LIBRARIES} ${THREAD_LINK_LIBRARIES})
endfunction()
add_qt_test_by_name(usb-manager-test)
+
+set(COVERAGE_TEST_TARGETS
+ ${COVERAGE_TEST_TARGETS}
+ PARENT_SCOPE
+)
diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt
index 9d8cad2..87fab3a 100644
--- a/tests/unit/CMakeLists.txt
+++ b/tests/unit/CMakeLists.txt
@@ -20,6 +20,7 @@ add_definitions(
function(add_test_by_name name)
set(TEST_NAME ${name})
+ set(COVERAGE_TEST_TARGETS ${COVERAGE_TEST_TARGETS} ${TEST_NAME} PARENT_SCOPE)
add_executable (${TEST_NAME} ${TEST_NAME}.cpp)
add_test(${TEST_NAME} ${TEST_NAME})
set_property(TEST ${TEST_NAME} APPEND PROPERTY ENVIRONMENT ${CTEST_ENVIRONMENT})
@@ -30,6 +31,7 @@ add_test_by_name(rotation-lock-test)
function(add_qt_test_by_name name)
set(TEST_NAME ${name})
+ set(COVERAGE_TEST_TARGETS ${COVERAGE_TEST_TARGETS} ${TEST_NAME} PARENT_SCOPE)
add_executable (${TEST_NAME} ${TEST_NAME}.cpp)
add_test(${TEST_NAME} ${TEST_NAME})
set_property(TEST ${TEST_NAME} APPEND PROPERTY ENVIRONMENT ${CTEST_ENVIRONMENT})
@@ -37,3 +39,8 @@ function(add_qt_test_by_name name)
endfunction()
add_qt_test_by_name(greeter-test)
add_qt_test_by_name(usb-snap-test)
+
+set(COVERAGE_TEST_TARGETS
+ ${COVERAGE_TEST_TARGETS}
+ PARENT_SCOPE
+)