diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_CYSBSYSKIT_01/CMakeLists.txt b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_CYSBSYSKIT_01/CMakeLists.txt index 2245ac2809..f05b307b71 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_CYSBSYSKIT_01/CMakeLists.txt +++ b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_CYSBSYSKIT_01/CMakeLists.txt @@ -59,4 +59,7 @@ target_compile_definitions(mbed-cysbsyskit-01 "CY8C624AFNI_S2D43F" ) -mbed_post_build_psoc6_merge_hex("CYSBSYSKIT_01") +mbed_post_build_psoc6_merge_hex( + PSOC6_TARGET + "CYSBSYSKIT_01" +) diff --git a/targets/TARGET_Cypress/scripts/mbed_set_post_build_cypress.cmake b/targets/TARGET_Cypress/scripts/mbed_set_post_build_cypress.cmake index 75f672356a..5dbe9e24b4 100644 --- a/targets/TARGET_Cypress/scripts/mbed_set_post_build_cypress.cmake +++ b/targets/TARGET_Cypress/scripts/mbed_set_post_build_cypress.cmake @@ -6,34 +6,35 @@ include(mbed_set_post_build) # # Merge Cortex-M4 HEX and a Cortex-M0 HEX. # -macro(mbed_post_build_psoc6_merge_hex cypress_psoc6_target) - if("${cypress_psoc6_target}" STREQUAL "${MBED_TARGET}") +macro(mbed_post_build_psoc6_merge_hex) + set(prefix "CYPRESS") + set(options) + set(oneValueArgs + PSOC6_TARGET + CORTEX_M0_HEX + ) + set(multiValueArgs) + cmake_parse_arguments( + "${prefix}" + "${options}" + "${oneValueArgs}" + "${multipleValueArgs}" + ${ARGN} + ) + + if("${CYPRESS_PSOC6_TARGET}" STREQUAL "${MBED_TARGET}") function(mbed_post_build_function target) find_package(Python3) + set(post_build_command + ${Python3_EXECUTABLE} ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/PSOC6.py + merge + --elf $/$.elf + --m4hex $/$.hex + ) - # Copy ${ARGN} to a variable first as it cannot be used directly with - # the list() command - set (extra_macro_args ${ARGN}) - - # Get the number of arguments past the last expected argument - list(LENGTH extra_macro_args num_extra_args) - - if(${num_extra_args} GREATER 0) - # Get extra argument as `cortex_m0_hex` - list(GET extra_macro_args 0 cortex_m0_hex) - set(post_build_command - ${Python3_EXECUTABLE} ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/PSOC6.py - merge - --elf $/$.elf - --m4hex $/$.hex - --m0hex ${cortex_m0_hex} - ) - else() - set(post_build_command - ${Python3_EXECUTABLE} ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/PSOC6.py - merge - --elf $/$.elf - --m4hex $/$.hex + if(NOT "${CYPRESS_CORTEX_M0_HEX}" STREQUAL "") + list(APPEND post_build_command + --m0hex ${CYPRESS_CORTEX_M0_HEX} ) endif()