@@ -7,6 +7,7 @@ CPMAddPackage(
7
7
GITHUB_REPOSITORY google/googletest
8
8
GIT_TAG v1.17.0
9
9
SOURCE_DIR "${EXTERNAL_DIR} /gtest"
10
+ OPTIONS "gtest_force_shared_crt ON"
10
11
)
11
12
12
13
set (TEST_DIR "${CMAKE_SOURCE_DIR} /tests" )
@@ -32,29 +33,20 @@ add_executable(${PROJECT_NAME}_tests ${TEST_FILES})
32
33
target_include_directories (${PROJECT_NAME} _tests PRIVATE ${SOURCE_DIR} ${TEST_DIR} "${EXTERNAL_DIR} /wasmtime" )
33
34
target_link_libraries (${PROJECT_NAME} _tests PRIVATE ${EXTERNAL_LINKS} )
34
35
35
- if (CODE_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" )
36
- target_compile_options (${PROJECT_NAME} _tests PRIVATE --coverage -O0 -g )
37
- target_link_options (${PROJECT_NAME} _tests PRIVATE --coverage )
38
- endif ()
39
-
40
36
target_precompile_headers (${PROJECT_NAME} _tests PRIVATE "${SOURCE_DIR} /precompiled.h" )
41
37
42
- if (CODE_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" )
43
- find_program (GCOVR_PATH gcovr )
44
- if (NOT GCOVR_PATH )
45
- message (FATAL_ERROR "gcovr not found! Please install it via pip: pip install gcovr" )
38
+ if (CONNECTION_MACHINE_CODE_COVERAGE )
39
+ if (CONNECTION_MACHINE_BUILD_TESTS )
40
+ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" )
41
+ message (STATUS "Code coverage enabled" )
42
+ add_compile_options (--coverage -O0 -g )
43
+ add_link_options (--coverage )
44
+ elseif (MSVC )
45
+ message (WARNING "Code coverage does nothing with MSVC. Use normal Tests build, and use opencpp_coverage.cmd" )
46
+ else ()
47
+ message (WARNING "Code coverage not working with: \" ${CMAKE_CXX_COMPILER_ID} \" " )
48
+ endif ()
49
+ else ()
50
+ message (WARNING "Code coverage cant not be used without also enabling tests." )
46
51
endif ()
47
-
48
- add_custom_target (coverage
49
- COMMAND ${GCOVR_PATH}
50
- --root ${CMAKE_SOURCE_DIR}
51
- --filter ${SOURCE_DIR}
52
- --exclude-unreachable-branches
53
- --print-summary
54
- --html --html-details -o coverage.html
55
- --gcov-executable gcov
56
- --exclude '${EXTERNAL_DIR}'
57
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
58
- COMMENT "Generating code coverage report with gcovr"
59
- )
60
- endif ()
52
+ endif ()
0 commit comments