Move coverage_generate dependencies to parameters

The coverage_generate function got new parameters for defining the
source, the binary and the c-picker cache directory.

Change-Id: I703d277654983b68cc38a90d320ce03110b7c2f5
Signed-off-by: Imre Kis <imre.kis@arm.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b14ab7..0d1452b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -120,7 +120,13 @@
 	set(TF_A_UT_COVERAGE_REPORT_DIR "${CMAKE_CURRENT_BINARY_DIR}/tf-a-unit-tests-coverage")
 
 	# Collecting coverage
-	coverage_generate(NAME "Unit test" OUTPUT_FILE ${COVERAGE_FILE})
+	coverage_generate(
+		NAME "Unit test"
+		SOURCE_DIR ${TF_A_PATH}
+		BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}
+		CPICKER_MAPPING_PATH ${CPICKER_CACHE_PATH}
+		OUTPUT_FILE ${COVERAGE_FILE}
+	)
 
 	# Filtering TF-A and unit test coverage
 	coverage_filter(
diff --git a/cmake/Coverage.cmake b/cmake/Coverage.cmake
index 0c93f85..dd1e6ce 100644
--- a/cmake/Coverage.cmake
+++ b/cmake/Coverage.cmake
@@ -58,15 +58,16 @@
 
 # Generates LCOV coverage info file by processing the .gcda and .gcno files.
 # The function also maps coverage of the c-picker generated files to the original source lines
-# Global dependencies:
-#     CPICKER_CACHE_PATH: root directory of the c-picker generated files
 function(coverage_generate)
 	set(_OPTIONS_ARGS)
-	set(_ONE_VALUE_ARGS NAME OUTPUT_FILE)
+	set(_ONE_VALUE_ARGS NAME SOURCE_DIR BINARY_DIR CPICKER_MAPPING_PATH OUTPUT_FILE)
 	set(_MULTI_VALUE_ARGS)
 	cmake_parse_arguments(_MY_PARAMS "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN})
 
 	set(TEST_NAME ${_MY_PARAMS_NAME})
+	set(SOURCE_DIR ${_MY_PARAMS_SOURCE_DIR})
+	set(BINARY_DIR ${_MY_PARAMS_BINARY_DIR})
+	set(CPICKER_MAPPING_PATH ${_MY_PARAMS_CPICKER_MAPPING_PATH})
 	set(TEMP_FILE ${_MY_PARAMS_OUTPUT_FILE}_temp)
 	set(OUTPUT_FILE ${_MY_PARAMS_OUTPUT_FILE})
 
@@ -77,13 +78,13 @@
 		COMMAND ${LCOV_COMMAND}
 			--capture
 			--test-name ${TEST_NAME}
-			--directory ${CMAKE_CURRENT_BINARY_DIR}
-			--base-directory ${TF_A_PATH}
+			--directory ${BINARY_DIR}
+			--base-directory ${SOURCE_DIR}
 			--output-file ${TEMP_FILE}
 		COMMAND ${CPICKER_COVERAGE_MAPPER_COMMAND}
 			--input ${TEMP_FILE}
 			--output ${OUTPUT_FILE}
-			--mapping-path ${CPICKER_CACHE_PATH}
+			--mapping-path ${CPICKER_MAPPING_PATH}
 	)
 
 	add_coverage_dependency(