cmake: sca: codechecker: Configurable variables
Add a separate variables for CodeChecker commands Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This commit is contained in:
parent
5c9eb219be
commit
19a6dd8e2f
1 changed files with 37 additions and 2 deletions
|
@ -6,12 +6,38 @@ find_program(CODECHECKER_EXE NAMES CodeChecker codechecker REQUIRED)
|
||||||
message(STATUS "Found SCA: CodeChecker (${CODECHECKER_EXE})")
|
message(STATUS "Found SCA: CodeChecker (${CODECHECKER_EXE})")
|
||||||
|
|
||||||
# Get CodeChecker specific variables
|
# Get CodeChecker specific variables
|
||||||
|
zephyr_get(CODECHECKER_ANALYZE_JOBS)
|
||||||
zephyr_get(CODECHECKER_ANALYZE_OPTS)
|
zephyr_get(CODECHECKER_ANALYZE_OPTS)
|
||||||
|
zephyr_get(CODECHECKER_CONFIG_FILE)
|
||||||
zephyr_get(CODECHECKER_EXPORT)
|
zephyr_get(CODECHECKER_EXPORT)
|
||||||
|
zephyr_get(CODECHECKER_NAME)
|
||||||
zephyr_get(CODECHECKER_PARSE_EXIT_STATUS)
|
zephyr_get(CODECHECKER_PARSE_EXIT_STATUS)
|
||||||
zephyr_get(CODECHECKER_PARSE_OPTS)
|
zephyr_get(CODECHECKER_PARSE_OPTS)
|
||||||
|
zephyr_get(CODECHECKER_PARSE_SKIP)
|
||||||
zephyr_get(CODECHECKER_STORE)
|
zephyr_get(CODECHECKER_STORE)
|
||||||
zephyr_get(CODECHECKER_STORE_OPTS)
|
zephyr_get(CODECHECKER_STORE_OPTS)
|
||||||
|
zephyr_get(CODECHECKER_STORE_TAG)
|
||||||
|
zephyr_get(CODECHECKER_TRIM_PATH_PREFIX)
|
||||||
|
|
||||||
|
if(NOT CODECHECKER_NAME)
|
||||||
|
set(CODECHECKER_NAME zephyr)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CODECHECKER_ANALYZE_JOBS)
|
||||||
|
set(CODECHECKER_ANALYZE_JOBS "--jobs;${CODECHECKER_ANALYZE_JOBS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CODECHECKER_CONFIG_FILE)
|
||||||
|
set(CODECHECKER_CONFIG_FILE "--config;${CODECHECKER_CONFIG_FILE}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CODECHECKER_STORE_TAG)
|
||||||
|
set(CODECHECKER_STORE_TAG "--tag;${CODECHECKER_STORE_TAG}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CODECHECKER_TRIM_PATH_PREFIX)
|
||||||
|
set(CODECHECKER_TRIM_PATH_PREFIX "--trim-path-prefix;${CODECHECKER_TRIM_PATH_PREFIX}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# CodeChecker uses the compile_commands.json as input
|
# CodeChecker uses the compile_commands.json as input
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
@ -31,7 +57,9 @@ add_custom_target(codechecker ALL
|
||||||
--keep-gcc-include-fixed
|
--keep-gcc-include-fixed
|
||||||
--keep-gcc-intrin
|
--keep-gcc-intrin
|
||||||
--output ${output_dir}/codechecker.plist
|
--output ${output_dir}/codechecker.plist
|
||||||
--name zephyr # Set a default metadata name
|
--name ${CODECHECKER_NAME} # Set a default metadata name
|
||||||
|
${CODECHECKER_CONFIG_FILE}
|
||||||
|
${CODECHECKER_ANALYZE_JOBS}
|
||||||
${CODECHECKER_ANALYZE_OPTS}
|
${CODECHECKER_ANALYZE_OPTS}
|
||||||
${CMAKE_BINARY_DIR}/compile_commands.json
|
${CMAKE_BINARY_DIR}/compile_commands.json
|
||||||
|| ${CMAKE_COMMAND} -E true # allow to continue processing results
|
|| ${CMAKE_COMMAND} -E true # allow to continue processing results
|
||||||
|
@ -67,6 +95,8 @@ if(DEFINED CODECHECKER_EXPORT)
|
||||||
${output_dir}/codechecker.plist
|
${output_dir}/codechecker.plist
|
||||||
--export ${export_item}
|
--export ${export_item}
|
||||||
--output ${output_dir}/codechecker.${export_item}
|
--output ${output_dir}/codechecker.${export_item}
|
||||||
|
${CODECHECKER_CONFIG_FILE}
|
||||||
|
${CODECHECKER_TRIM_PATH_PREFIX}
|
||||||
${CODECHECKER_PARSE_OPTS}
|
${CODECHECKER_PARSE_OPTS}
|
||||||
BYPRODUCTS ${output_dir}/codechecker.${export_item}
|
BYPRODUCTS ${output_dir}/codechecker.${export_item}
|
||||||
VERBATIM
|
VERBATIM
|
||||||
|
@ -74,12 +104,14 @@ if(DEFINED CODECHECKER_EXPORT)
|
||||||
COMMAND_EXPAND_LISTS
|
COMMAND_EXPAND_LISTS
|
||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
else()
|
elseif(NOT CODECHECKER_PARSE_SKIP)
|
||||||
# Output parse results
|
# Output parse results
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET codechecker POST_BUILD
|
TARGET codechecker POST_BUILD
|
||||||
COMMAND ${CODECHECKER_EXE} parse
|
COMMAND ${CODECHECKER_EXE} parse
|
||||||
${output_dir}/codechecker.plist
|
${output_dir}/codechecker.plist
|
||||||
|
${CODECHECKER_CONFIG_FILE}
|
||||||
|
${CODECHECKER_TRIM_PATH_PREFIX}
|
||||||
${CODECHECKER_PARSE_OPTS}
|
${CODECHECKER_PARSE_OPTS}
|
||||||
VERBATIM
|
VERBATIM
|
||||||
USES_TERMINAL
|
USES_TERMINAL
|
||||||
|
@ -91,6 +123,9 @@ if(DEFINED CODECHECKER_STORE OR DEFINED CODECHECKER_STORE_OPTS)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET codechecker POST_BUILD
|
TARGET codechecker POST_BUILD
|
||||||
COMMAND ${CODECHECKER_EXE} store
|
COMMAND ${CODECHECKER_EXE} store
|
||||||
|
${CODECHECKER_CONFIG_FILE}
|
||||||
|
${CODECHECKER_STORE_TAG}
|
||||||
|
${CODECHECKER_TRIM_PATH_PREFIX}
|
||||||
${CODECHECKER_STORE_OPTS}
|
${CODECHECKER_STORE_OPTS}
|
||||||
${output_dir}/codechecker.plist
|
${output_dir}/codechecker.plist
|
||||||
VERBATIM
|
VERBATIM
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue