diff --git a/cmake/modules/configuration_files.cmake b/cmake/modules/configuration_files.cmake index e5db53fd088..e539e48f09c 100644 --- a/cmake/modules/configuration_files.cmake +++ b/cmake/modules/configuration_files.cmake @@ -11,6 +11,7 @@ # The following variables will be defined when this CMake module completes: # # - CONF_FILE: List of Kconfig fragments +# - OVERLAY_CONFIG: List of additional Kconfig fragments # - DTC_OVERLAY_FILE: List of devicetree overlay files # - APPLICATION_CONFIG_DIR: Root folder for application configuration # @@ -114,3 +115,5 @@ DTC_OVERLAY_FILE=\"dts1.overlay dts2.overlay\"") # The DTC_OVERLAY_FILE variable is now set to its final value. zephyr_boilerplate_watch(DTC_OVERLAY_FILE) + +zephyr_get(OVERLAY_CONFIG SYSBUILD LOCAL) diff --git a/cmake/modules/kconfig.cmake b/cmake/modules/kconfig.cmake index 3bcd23d51d7..1b064eedffb 100644 --- a/cmake/modules/kconfig.cmake +++ b/cmake/modules/kconfig.cmake @@ -76,7 +76,6 @@ if(CONF_FILE) string(REPLACE " " ";" CONF_FILE_AS_LIST "${CONF_FILE_EXPANDED}") endif() -zephyr_get(OVERLAY_CONFIG SYSBUILD LOCAL) if(OVERLAY_CONFIG) string(CONFIGURE "${OVERLAY_CONFIG}" OVERLAY_CONFIG_EXPANDED) string(REPLACE " " ";" OVERLAY_CONFIG_AS_LIST "${OVERLAY_CONFIG_EXPANDED}") diff --git a/share/sysbuild/cmake/modules/sysbuild_kconfig.cmake b/share/sysbuild/cmake/modules/sysbuild_kconfig.cmake index 5dbf82728a5..f8390877939 100644 --- a/share/sysbuild/cmake/modules/sysbuild_kconfig.cmake +++ b/share/sysbuild/cmake/modules/sysbuild_kconfig.cmake @@ -25,7 +25,11 @@ else() endif() if(DEFINED SB_CONF_FILE AND NOT IS_ABSOLUTE SB_CONF_FILE) - cmake_path(ABSOLUTE_PATH SB_CONF_FILE BASE_DIRECTORY ${APP_DIR} OUTPUT_VARIABLE SB_CONF_FILE) + cmake_path(ABSOLUTE_PATH SB_CONF_FILE BASE_DIRECTORY ${APP_DIR}) +endif() + +if(DEFINED SB_OVERLAY_CONFIG AND NOT IS_ABSOLUTE SB_OVERLAY_CONFIG) + cmake_path(ABSOLUTE_PATH SB_OVERLAY_CONFIG BASE_DIRECTORY ${APP_DIR}) endif() if(DEFINED SB_CONF_FILE AND NOT DEFINED CACHE{SB_CONF_FILE}) @@ -48,6 +52,7 @@ file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/empty.conf) set(APPLICATION_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(AUTOCONF_H ${CMAKE_CURRENT_BINARY_DIR}/autoconf.h) set(CONF_FILE ${SB_CONF_FILE}) +set(OVERLAY_CONFIG "${SB_OVERLAY_CONFIG}") set(BOARD_DEFCONFIG "${CMAKE_CURRENT_BINARY_DIR}/empty.conf") if(DEFINED BOARD_REVISION) set(BOARD_REVISION_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/empty.conf")