aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Modules/EnableCoverage.cmake9
1 files changed, 9 insertions, 0 deletions
diff --git a/cmake/Modules/EnableCoverage.cmake b/cmake/Modules/EnableCoverage.cmake
new file mode 100644
index 0000000..9602869
--- /dev/null
+++ b/cmake/Modules/EnableCoverage.cmake
@@ -0,0 +1,9 @@
+function (enable_coverage TARGET)
+ target_compile_options("${TARGET}" PRIVATE
+ "$<$<AND:$<CXX_COMPILER_ID:GNU,Clang>,$<CONFIG:Debug>>:-fcondition-coverage>"
+ "$<$<AND:$<CXX_COMPILER_ID:GNU,Clang>,$<CONFIG:Debug>>:--coverage>"
+ )
+ target_link_libraries("${TARGET}" PRIVATE
+ "$<$<AND:$<CXX_COMPILER_ID:GNU,Clang>,$<CONFIG:Debug>>:gcov>"
+ )
+endfunction () \ No newline at end of file