From 27f8c218cdb152d54f9db00a983fd8fe12fc20b0 Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Mon, 21 Aug 2023 11:42:51 +0200 Subject: [PATCH] cmake: sca: codechecker: Support storing results Introduce CODECHECKER_STORE parameters to upload results to an active CodeChecker server. Signed-off-by: Pieter De Gendt --- cmake/sca/codechecker/sca.cmake | 13 +++++++++++++ doc/develop/sca/codechecker.rst | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/cmake/sca/codechecker/sca.cmake b/cmake/sca/codechecker/sca.cmake index 8607e136391..c7cf6325c40 100644 --- a/cmake/sca/codechecker/sca.cmake +++ b/cmake/sca/codechecker/sca.cmake @@ -23,6 +23,7 @@ add_custom_target(codechecker ALL --keep-gcc-include-fixed --keep-gcc-intrin --output ${output_dir}/codechecker.plist + --name zephyr # Set a default metadata name ${CODECHECKER_ANALYZE_OPTS} ${CMAKE_BINARY_DIR}/compile_commands.json DEPENDS ${CMAKE_BINARY_DIR}/compile_commands.json ${output_dir}/codechecker.ready @@ -71,3 +72,15 @@ else() COMMAND_EXPAND_LISTS ) endif() + +if(CODECHECKER_STORE OR CODECHECKER_STORE_OPTS) + add_custom_command( + TARGET codechecker POST_BUILD + COMMAND ${CODECHECKER_EXE} store + ${CODECHECKER_STORE_OPTS} + ${output_dir}/codechecker.plist + VERBATIM + USES_TERMINAL + COMMAND_EXPAND_LISTS + ) +endif() diff --git a/doc/develop/sca/codechecker.rst b/doc/develop/sca/codechecker.rst index 1dcf7757eac..358ad45cb16 100644 --- a/doc/develop/sca/codechecker.rst +++ b/doc/develop/sca/codechecker.rst @@ -42,6 +42,24 @@ To configure CodeChecker or analyzers used, arguments can be passed using the -DCODECHECKER_ANALYZE_OPTS="--config;$CODECHECKER_CONFIG_FILE;--timeout;60" +Storing CodeChecker results +*************************** + +If a CodeChecker server is active the results can be uploaded and stored for tracking purposes. +Storing is done using the optional ``CODECHECKER_STORE=y`` or ``CODECHECKER_STORE_OPTS="arg;list"`` +parameters, e.g. + +.. code-block:: shell + + west build -b mimxrt1064_evk samples/basic/blinky -- -DZEPHYR_SCA_VARIANT=codechecker \ + -DCODECHECKER_STORE_OPTS="--name;build;--url;localhost:8001/Default" + +.. note:: + + If ``--name`` isn't passed to either ``CODECHECKER_ANALYZE_OPTS`` or ``CODECHECKER_STORE_OPTS``, + the default ``zephyr`` is used. + + Exporting CodeChecker reports *****************************