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 <jamie.mccrae@nordicsemi.no>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ff12e08..ce9121b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1818,16 +1818,21 @@
)
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}")