Skip to content

Commit

Permalink
cmake: Prevent regenerating dfu multi image on every build
Browse files Browse the repository at this point in the history
* Move running dfu_multi_image_tool.py out of custom target to stop
regenerating the image on every build.
* Fix DEPENDS for dfu_multi_image_package.

Signed-off-by: Adrian Gielniewski <[email protected]>
  • Loading branch information
adigie committed Dec 19, 2024
1 parent ba929f9 commit 15a0ca9
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 3 deletions.
8 changes: 6 additions & 2 deletions cmake/dfu_multi_image.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,18 @@ function(dfu_multi_image_package TARGET_NAME)
string(REPLACE ";" "\n" SCRIPT_ARGS "${SCRIPT_ARGS}")
file(GENERATE OUTPUT ${ARG_OUTPUT}.args CONTENT ${SCRIPT_ARGS})

add_custom_target(${TARGET_NAME} ALL
add_custom_command(
COMMAND
${Python3_EXECUTABLE}
${ZEPHYR_NRF_MODULE_DIR}/scripts/bootloader/dfu_multi_image_tool.py
@${ARG_OUTPUT}.args
BYPRODUCTS
OUTPUT
${ARG_OUTPUT}
DEPENDS
${ARG_DEPENDS}
)
add_custom_target(${TARGET_NAME} ALL
DEPENDS
${ARG_OUTPUT}
)
endfunction()
1 change: 1 addition & 0 deletions modules/mcuboot/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -895,6 +895,7 @@ CONFIG_DFU_MULTI_IMAGE_PACKAGE_BUILD cannot be used with CONFIG_XIP_SPLIT_IMAGE.
IMAGE_IDS ${dfu_multi_image_ids}
IMAGE_PATHS ${dfu_multi_image_paths}
OUTPUT ${PROJECT_BINARY_DIR}/dfu_multi_image.bin
DEPENDS ${dfu_multi_image_targets}
)

add_dependencies(dfu_multi_image_pkg ${dfu_multi_image_targets})
Expand Down
2 changes: 1 addition & 1 deletion subsys/bootloader/cmake/packaging.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ if(SB_CONFIG_DFU_MULTI_IMAGE_PACKAGE_BUILD)

list(APPEND dfu_multi_image_ids 0)
list(APPEND dfu_multi_image_paths "${${DEFAULT_IMAGE}_image_dir}/zephyr/${${DEFAULT_IMAGE}_kernel_name}.signed.bin")
list(APPEND dfu_multi_image_targets ${DEFAULT_IMAGE}_extra_byproducts)
list(APPEND dfu_multi_image_targets ${DEFAULT_IMAGE}_extra_byproducts ${dfu_multi_image_paths})
endif()

if(SB_CONFIG_DFU_MULTI_IMAGE_PACKAGE_NET)
Expand Down

0 comments on commit 15a0ca9

Please sign in to comment.