From acb7a211dddec9bbf11dddff42c94a24ef8d21e3 Mon Sep 17 00:00:00 2001 From: Renz Bagaporo Date: Wed, 8 Apr 2020 11:37:02 +0800 Subject: [PATCH] partition_table: do not always display partition table contents on build --- components/bootloader/CMakeLists.txt | 3 ++- components/esptool_py/project_include.cmake | 2 +- components/partition_table/CMakeLists.txt | 21 ++++++++++++++------- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/components/bootloader/CMakeLists.txt b/components/bootloader/CMakeLists.txt index 410f9efba..388d82a48 100644 --- a/components/bootloader/CMakeLists.txt +++ b/components/bootloader/CMakeLists.txt @@ -5,7 +5,8 @@ if(BOOTLOADER_BUILD OR NOT CONFIG_APP_BUILD_BOOTLOADER) return() endif() -add_dependencies(bootloader partition_table) +add_dependencies(bootloader partition_table_bin) + # When secure boot is enabled, do not flash bootloader along with invocation of `idf.py flash` if(NOT CONFIG_SECURE_BOOT) set(flash_bootloader FLASH_IN_PROJECT) diff --git a/components/esptool_py/project_include.cmake b/components/esptool_py/project_include.cmake index e2f4abe1e..fefdaaf40 100644 --- a/components/esptool_py/project_include.cmake +++ b/components/esptool_py/project_include.cmake @@ -258,7 +258,7 @@ function(esptool_py_custom_target target_name flasher_filename dependencies) endfunction() if(NOT BOOTLOADER_BUILD) - set(flash_deps "partition_table") + set(flash_deps "partition_table_bin") if(CONFIG_APP_BUILD_GENERATE_BINARIES) list(APPEND flash_deps "app") diff --git a/components/partition_table/CMakeLists.txt b/components/partition_table/CMakeLists.txt index bc90727f4..7d42c4448 100644 --- a/components/partition_table/CMakeLists.txt +++ b/components/partition_table/CMakeLists.txt @@ -37,19 +37,26 @@ set(gen_partition_table "${python}" "${CMAKE_CURRENT_SOURCE_DIR}/gen_esp32part.p "--offset" "${PARTITION_TABLE_OFFSET}" "${md5_opt}" "${flashsize_opt}" "${partition_secure_opt}" ) +set(partition_table_display + COMMAND ${CMAKE_COMMAND} -E echo "Partition table binary generated. Contents:" + COMMAND ${CMAKE_COMMAND} -E echo "*******************************************************************************" + COMMAND ${gen_partition_table} "${build_dir}/partition_table/${unsigned_partition_bin}" + COMMAND ${CMAKE_COMMAND} -E echo "*******************************************************************************" +) + add_custom_command(OUTPUT "${build_dir}/partition_table/${unsigned_partition_bin}" COMMAND ${gen_partition_table} "${partition_csv}" "${build_dir}/partition_table/${unsigned_partition_bin}" + ${partition_table_display} DEPENDS ${partition_csv} "${CMAKE_CURRENT_SOURCE_DIR}/gen_esp32part.py" VERBATIM) +add_custom_target(partition_table_bin DEPENDS "${build_dir}/partition_table/${unsigned_partition_bin}" + "${build_dir}/partition_table/${unsigned_partition_bin}") + if(EXISTS ${partition_csv}) - add_custom_target(partition_table ALL - DEPENDS "${build_dir}/partition_table/${unsigned_partition_bin}" - "${build_dir}/partition_table/${final_partition_bin}" - COMMAND ${CMAKE_COMMAND} -E echo "Partition table binary generated. Contents:" - COMMAND ${CMAKE_COMMAND} -E echo "*******************************************************************************" - COMMAND ${gen_partition_table} "${build_dir}/partition_table/${unsigned_partition_bin}" - COMMAND ${CMAKE_COMMAND} -E echo "*******************************************************************************" + add_custom_target(partition_table + DEPENDS partition_table_bin + ${partition_table_display} VERBATIM) else() # If the partition input CSV is not found, create a phony partition_table target that