From d676234493d375e80f49afb9954f42bda30f3dd7 Mon Sep 17 00:00:00 2001 From: Jamie McCrae Date: Fri, 13 Oct 2023 11:08:32 +0100 Subject: [PATCH] cmake: Add support for sysbuild-set signing script Allows a sysbuild project to specify a signing script file to use instead of the default zephyr one Signed-off-by: Jamie McCrae --- CMakeLists.txt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ff12e0852ec..ce9121b3f73 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1818,16 +1818,21 @@ if(NOT CMAKE_C_COMPILER_ID STREQUAL "ARMClang") ) endif() -# Generate and use MCUboot related artifacts as needed. -if(CONFIG_BOOTLOADER_MCUBOOT) +# Generate signed (MCUboot or other) related artifacts as needed. Priority is: +# * Sysbuild (if set) +# * SIGNING_SCRIPT target property (if set) +# * MCUboot signing script (if MCUboot is enabled) +zephyr_get(signing_script VAR SIGNING_SCRIPT SYSBUILD) + +if(NOT signing_script) get_target_property(signing_script zephyr_property_target SIGNING_SCRIPT) - if(NOT signing_script) - set_target_properties(zephyr_property_target PROPERTIES SIGNING_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/cmake/mcuboot.cmake) + + if(NOT signing_script AND CONFIG_BOOTLOADER_MCUBOOT) + set(signing_script ${CMAKE_CURRENT_LIST_DIR}/cmake/mcuboot.cmake) endif() endif() # Include signing script, if set -get_target_property(signing_script zephyr_property_target SIGNING_SCRIPT) if(signing_script) message(STATUS "Including signing script: ${signing_script}")