forked from franneck94/CppProjectTemplate
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
38 lines (33 loc) · 1.1 KB
/
Copy pathCMakeLists.txt
File metadata and controls
38 lines (33 loc) · 1.1 KB
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
34
35
36
37
38
if(ENABLE_TESTING)
set(TEST_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/main.cc")
set(TEST_HEADERS "")
add_executable(${UNIT_TEST_NAME} ${TEST_SOURCES} ${TEST_HEADERS})
target_link_libraries(${UNIT_TEST_NAME} PUBLIC ${LIBRARY_NAME})
target_link_libraries(${UNIT_TEST_NAME} PRIVATE Catch2::Catch2)
target_set_warnings(
TARGET
${UNIT_TEST_NAME}
ENABLE
${ENABLE_WARNINGS}
AS_ERRORS
${ENABLE_WARNINGS_AS_ERRORS})
add_linter_tool_to_target(${UNIT_TEST_NAME})
if(ENABLE_COVERAGE)
set(COVERAGE_MAIN "coverage")
set(COVERAGE_EXCLUDES
"${PROJECT_SOURCE_DIR}/app/*"
"${PROJECT_SOURCE_DIR}/cmake/*"
"${PROJECT_SOURCE_DIR}/docs/*"
"${PROJECT_SOURCE_DIR}/external/*"
"${PROJECT_SOURCE_DIR}/tests/*"
"${PROJECT_SOURCE_DIR}/build/*"
"/usr/include/*")
setup_target_for_coverage_lcov(
NAME
${COVERAGE_MAIN}
EXECUTABLE
${UNIT_TEST_NAME}
DEPENDENCIES
${UNIT_TEST_NAME})
endif()
endif()