| # SPDX-License-Identifier: Apache-2.0 |
| # |
| # Copyright 2024 Espressif |
| |
| # Prepare the full board name to be used for the remote target |
| string(REPLACE "procpu" "appcpu" REMOTE_CPU "${BOARD_QUALIFIERS}") |
| string(CONFIGURE "${BOARD}${REMOTE_CPU}" IPM_REMOTE_BOARD) |
| |
| if(${REMOTE_CPU} STREQUAL ${BOARD_QUALIFIERS}) |
| # Make sure the remote build is using different target than host CPU |
| message(FATAL_ERROR "BOARD_QUALIFIERS name error. Please check the target board name string.") |
| endif() |
| |
| # Add external project |
| ExternalZephyrProject_Add( |
| APPLICATION ipm_esp32_remote |
| SOURCE_DIR ${APP_DIR}/remote |
| BOARD ${IPM_REMOTE_BOARD} |
| ) |
| |
| # Add dependencies so that the remote sample will be built first |
| # This is required because some primary cores need information from the |
| # remote core's build, such as the output image's LMA |
| add_dependencies(ipm_esp32 ipm_esp32_remote) |
| sysbuild_add_dependencies(CONFIGURE ipm_esp32 ipm_esp32_remote) |
| |
| if(SB_CONFIG_BOOTLOADER_MCUBOOT) |
| # Make sure MCUboot is flashed first |
| sysbuild_add_dependencies(FLASH ipm_esp32_remote mcuboot) |
| endif() |