From 9f2d7659b82074f4ce6b1a7ab0cd89c9625e99e0 Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Fri, 6 Sep 2024 15:09:55 +0200 Subject: [PATCH] cmake: sca: codechecker: Add cleanup step Add the option to remove the static code analysis reports after parsing/storing. Signed-off-by: Pieter De Gendt --- cmake/sca/codechecker/sca.cmake | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cmake/sca/codechecker/sca.cmake b/cmake/sca/codechecker/sca.cmake index 5d8c1e86fc1..7c69c836d6d 100644 --- a/cmake/sca/codechecker/sca.cmake +++ b/cmake/sca/codechecker/sca.cmake @@ -13,6 +13,7 @@ message(STATUS "Found SCA: CodeChecker (${CODECHECKER_EXE})") # Get CodeChecker specific variables zephyr_get(CODECHECKER_ANALYZE_JOBS) zephyr_get(CODECHECKER_ANALYZE_OPTS) +zephyr_get(CODECHECKER_CLEANUP) zephyr_get(CODECHECKER_CONFIG_FILE) zephyr_get(CODECHECKER_EXPORT) zephyr_get(CODECHECKER_NAME) @@ -95,6 +96,16 @@ add_custom_command( COMMAND ${CMAKE_COMMAND} -E rm ${output_dir}/codechecker.ready ) +if(CODECHECKER_CLEANUP) + add_custom_target(codechecker-cleanup ALL + COMMAND ${CMAKE_COMMAND} -E rm -r ${output_dir}/codechecker.plist + ) +else() + add_custom_target(codechecker-cleanup) +endif() + +add_dependencies(codechecker-cleanup codechecker) + # If 'codechecker parse' returns an exit status of '2', it means more than 0 # issues were detected. Suppress the exit status by default, but permit opting # in to the failure. @@ -122,6 +133,7 @@ if(DEFINED CODECHECKER_EXPORT) COMMAND_EXPAND_LISTS ) add_dependencies(codechecker-report-${export_item} codechecker) + add_dependencies(codechecker-cleanup codechecker-report-${export_item}) endforeach() elseif(NOT CODECHECKER_PARSE_SKIP) # Output parse results @@ -136,6 +148,7 @@ elseif(NOT CODECHECKER_PARSE_SKIP) COMMAND_EXPAND_LISTS ) add_dependencies(codechecker-parse codechecker) + add_dependencies(codechecker-cleanup codechecker-parse) endif() if(DEFINED CODECHECKER_STORE OR DEFINED CODECHECKER_STORE_OPTS) @@ -151,4 +164,5 @@ if(DEFINED CODECHECKER_STORE OR DEFINED CODECHECKER_STORE_OPTS) COMMAND_EXPAND_LISTS ) add_dependencies(codechecker-store codechecker) + add_dependencies(codechecker-cleanup codechecker-store) endif()