build: reports: add puncover target

puncover is a footprint and stack analysis tool in python, see

https://github.com/HBehrens/puncover

Add custom target puncover which launches puncover with the right
options.

Launch for example with:

west  build -b frdm_k64f samples/hello_world/ -t puncover

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2020-05-04 07:53:00 -04:00
parent 4e93b77552
commit 800c960d0d
1 changed files with 17 additions and 0 deletions

View File

@ -17,3 +17,20 @@ foreach(report ram_report rom_report)
$<TARGET_PROPERTY:zephyr_property_target,${report}_DEPENDENCIES>
)
endforeach()
find_program(PUNCOVER puncover)
if(NOT ${PUNCOVER} STREQUAL PUNCOVER-NOTFOUND)
add_custom_target(
puncover
${PUNCOVER}
--elf_file ${ZEPHYR_BINARY_DIR}/${KERNEL_ELF_NAME}
--gcc_tools_base ${CROSS_COMPILE}
--src_root ${ZEPHYR_BASE}
--build_dir ${CMAKE_BINARY_DIR}
DEPENDS ${logical_target_for_zephyr_elf}
$<TARGET_PROPERTY:zephyr_property_target,${report}_DEPENDENCIES>
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
USES_TERMINAL
)
endif()