36 lines
1.5 KiB
CMake
36 lines
1.5 KiB
CMake
# The following lines of boilerplate have to be in your project's CMakeLists
|
|
# in this exact order for cmake to work correctly
|
|
cmake_minimum_required(VERSION 3.16)
|
|
|
|
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
|
# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
|
|
idf_build_set_property(MINIMAL_BUILD ON)
|
|
project(TQ_Cat_Code)
|
|
|
|
idf_build_get_property(TQ_PROJECT_VERSION PROJECT_VER)
|
|
set(TQ_VERSIONED_FIRMWARE
|
|
"${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${TQ_PROJECT_VERSION}.bin")
|
|
|
|
add_custom_target(versioned_firmware ALL
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
"${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.bin"
|
|
"${TQ_VERSIONED_FIRMWARE}"
|
|
DEPENDS app
|
|
BYPRODUCTS "${TQ_VERSIONED_FIRMWARE}"
|
|
COMMENT "Creating versioned firmware ${CMAKE_PROJECT_NAME}-${TQ_PROJECT_VERSION}.bin"
|
|
VERBATIM
|
|
)
|
|
|
|
# 依赖应用和模型产物,确保每次构建输出的是本次镜像的分区及空间数据。
|
|
add_custom_target(flash_usage_report ALL
|
|
COMMAND ${PYTHON} "${CMAKE_SOURCE_DIR}/tools/report_flash_usage.py"
|
|
--partition-table "${CMAKE_BINARY_DIR}/partition_table/partition-table.bin"
|
|
--app "${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.bin"
|
|
--asset-pack "${CMAKE_BINARY_DIR}/esp-idf/platform/platform_assets.pack"
|
|
--model "${CMAKE_BINARY_DIR}/srmodels/srmodels.bin"
|
|
--flash-size "${CONFIG_ESPTOOLPY_FLASHSIZE}"
|
|
DEPENDS versioned_firmware srmodels_bin
|
|
COMMENT "Reporting Flash partition and embedded asset usage"
|
|
VERBATIM
|
|
)
|