mirror of
https://github.com/hathach/tinyusb.git
synced 2026-02-04 15:55:22 +00:00
35 lines
1.0 KiB
CMake
35 lines
1.0 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
include(${CMAKE_CURRENT_SOURCE_DIR}/../hw/bsp/family_support.cmake)
|
|
|
|
project(tinyusb_examples C CXX ASM)
|
|
|
|
set(EXAMPLES_LIST
|
|
device
|
|
dual
|
|
host
|
|
typec
|
|
)
|
|
set(MAPJSON_PATTERNS "")
|
|
|
|
foreach (example ${EXAMPLES_LIST})
|
|
add_subdirectory(${example})
|
|
list(APPEND MAPJSON_PATTERNS "${CMAKE_BINARY_DIR}/${example}/*/*.map.json")
|
|
endforeach ()
|
|
|
|
# Post-build: run metrics.py on all map.json files
|
|
find_package(Python3 REQUIRED COMPONENTS Interpreter)
|
|
add_custom_target(tinyusb_metrics
|
|
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../tools/metrics.py
|
|
combine -f tinyusb/src -j -o ${CMAKE_BINARY_DIR}/metrics
|
|
${MAPJSON_PATTERNS}
|
|
COMMENT "Generating average code size metrics"
|
|
VERBATIM
|
|
)
|
|
|
|
#add_custom_command(TARGET tinyusb_metrics POST_BUILD
|
|
# COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../tools/metrics.py compare ${TOP}/cmake-build/cmake-build-${BOARD}/metrics.json ${CMAKE_BINARY_DIR}/metrics.json
|
|
# COMMENT "Generating average code size metrics"
|
|
# VERBATIM
|
|
# )
|