function(mathup num align result) math(EXPR out "(((${num}) + ((${align}) - 1)) & ~((${align}) - 1))") set(${result} "${out}" PARENT_SCOPE) endfunction() function(${SYSBUILD_CURRENT_MODULE_NAME}_pre_image_cmake) cmake_parse_arguments(PRE_IMAGE_CMAKE "" "IMAGE" "IMAGES" ${ARGN}) if(NOT "${PRE_IMAGE_CMAKE_IMAGE}" STREQUAL "mcuboot" OR NOT SB_CONFIG_BOOTLOADER_MCUBOOT) return() endif() set_property( DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${CMAKE_BINARY_DIR}/mcuboot/CMakeCache.txt ${CMAKE_BINARY_DIR}/mcuboot/zephyr/.config ) endfunction(${SYSBUILD_CURRENT_MODULE_NAME}_pre_image_cmake) function(${SYSBUILD_CURRENT_MODULE_NAME}_post_image_cmake) cmake_parse_arguments(POST_IMAGE_CMAKE "" "IMAGE" "IMAGES" ${ARGN}) if(NOT "${POST_IMAGE_CMAKE_IMAGE}" STREQUAL "mcuboot" OR NOT SB_CONFIG_BOOTLOADER_MCUBOOT) return() endif() foreach(image ${IMAGES}) set(app_type) get_property(app_type TARGET ${image} PROPERTY APP_TYPE) if("${app_type}" STREQUAL "MAIN") sysbuild_get(mcuboot_image_footer_size IMAGE mcuboot CACHE) sysbuild_get(mcuboot_image_upgrade_footer_size IMAGE mcuboot CACHE) math(EXPR mcuboot_image_footer_size "${mcuboot_image_footer_size}" OUTPUT_FORMAT HEXADECIMAL) math(EXPR mcuboot_image_upgrade_footer_size "${mcuboot_image_upgrade_footer_size}" OUTPUT_FORMAT HEXADECIMAL) set_property(TARGET ${image} APPEND_STRING PROPERTY CONFIG "CONFIG_ROM_END_OFFSET=${mcuboot_image_footer_size}\n") set_property(TARGET ${image} APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_UPDATE_FOOTER_SIZE=${mcuboot_image_upgrade_footer_size}\n") return() endif() endforeach() endfunction(${SYSBUILD_CURRENT_MODULE_NAME}_post_image_cmake)