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(