From 694ae125ff6d9f70faf19223367438b28adf9f60 Mon Sep 17 00:00:00 2001
From: Pascal Palenda <pascal.palenda@akustik.rwth-aachen.de>
Date: Thu, 6 Jul 2023 09:52:55 +0200
Subject: [PATCH] Feat: add CTest with coverage and junit output

---
 src/IhtaAddTest.cmake | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/IhtaAddTest.cmake b/src/IhtaAddTest.cmake
index eb3d4e6..282dcc8 100644
--- a/src/IhtaAddTest.cmake
+++ b/src/IhtaAddTest.cmake
@@ -136,6 +136,16 @@ macro (ihta_add_test)
 		set_property (TARGET coverage_report PROPERTY FOLDER "coverage")
 		set_property (TARGET ${IHTA_ADD_TEST_NAME}_coverage PROPERTY FOLDER "coverage")
 		set_property (TARGET ${IHTA_ADD_TEST_NAME}_coverage_report PROPERTY FOLDER "coverage")
+
+		file (TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} IHTA_ADD_TEST_NATIVE_SOURCES)
+
+		add_test (
+			NAME "${IHTA_ADD_TEST_NAME}.Global.Global"
+			COMMAND
+				OpenCppCoverage --export_type=cobertura:${CMAKE_CURRENT_BINARY_DIR}/coverage.xml
+				--sources=${IHTA_ADD_TEST_NATIVE_SOURCES} --excluded_sources=*out* --
+				$<TARGET_FILE:${IHTA_ADD_TEST_NAME}> -r junit::out=${CMAKE_CURRENT_BINARY_DIR}/result-junit.xml
+		)
 	else ()
 		# use [namespace].[class].[testname] naming
 		add_test (NAME "${IHTA_ADD_TEST_NAME}.Global.Global" COMMAND ${IHTA_ADD_TEST_NAME}) # todo fix namespace name
-- 
GitLab