diff --git a/CodeCoverage.cmake b/CodeCoverage.cmake
index e8ae7eaa97210212d68003b19ec9fda935690b3e..cc3671a1aed3047ae392520dd4e2267bef4ae7b2 100644
--- a/CodeCoverage.cmake
+++ b/CodeCoverage.cmake
@@ -15,6 +15,7 @@
 FIND_PROGRAM( GCOV_PATH gcov )
 FIND_PROGRAM( LCOV_PATH lcov )
 FIND_PROGRAM( GENHTML_PATH genhtml )
+FIND_PROGRAM( GCOVR_PATH gcovr)
 
 IF(NOT GCOV_PATH)
 	MESSAGE(FATAL_ERROR "gcov not found! Aborting...")
@@ -74,5 +75,27 @@ FUNCTION(SETUP_TARGET_FOR_COVERAGE _targetname _testrunner _outputname)
 		COMMAND ;
 		COMMENT "Open ./${_outputname}/index.html in your browser to view the coverage report."
 	)
+	
+	# This target produces a Jenkins readable Cobertura report
+	IF(GCOVR_PATH AND PYTHON_EXECUTABLE)
+
+		ADD_CUSTOM_TARGET(${_targetname}_cobertura
+
+			# Run tests
+			${_testrunner}
+
+			# Running gcovr
+			COMMAND ${GCOVR_PATH} -x -r ${CMAKE_SOURCE_DIR} -o ${_outputname}.xml
+			WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+			COMMENT "Running gcovr to produce Cobertura code coverage report."
+		)
+
+		# Show info where to find the report
+		ADD_CUSTOM_COMMAND(TARGET ${_targetname}_cobertura POST_BUILD
+			COMMAND ;
+			COMMENT "Cobertura code coverage report saved in ${_outputname}.xml."
+		)
+		
+	ENDIF() # GCOVR_PATH AND PythonInterp_FOUND
 
 ENDFUNCTION() # SETUP_TARGET_FOR_COVERAGE