# LINKER script will be PICO_TARGET_LINKER_SCRIPT if set on target, or ${CMAKE_CURRENT_LIST_DIR}/memmap_foo.ld
# if PICO_TARGET_BINARY_TYPE is set to foo on the target, otherwise ${CMAKE_CURRENT_LIST_DIR}/memmap_${PICO_DEFAULT_BINARY_TYPE).ld
target_link_options(pico_standard_link INTERFACE
"LINKER:--script=$<IF:$<BOOL:$<TARGET_PROPERTY:PICO_TARGET_LINKER_SCRIPT>>,$<TARGET_PROPERTY:PICO_TARGET_LINKER_SCRIPT>,${CMAKE_CURRENT_LIST_DIR}/memmap_$<IF:$<STREQUAL:$<TARGET_PROPERTY:PICO_TARGET_BINARY_TYPE>,>,${PICO_DEFAULT_BINARY_TYPE},$<TARGET_PROPERTY:PICO_TARGET_BINARY_TYPE>>.ld>"
)
But this seems to confuse the (i assume otherwise) automatic dependency added by CMake
Having been bitten by this for the nth time i took a quick look, and pass the full target property to pico_add_link_depend seems to actually do the trick
seems to do the trick, but this probably needs a bit more thorough testing, and also will want to avoid double-jeopardy with pico_set_linker_script (i.e. dont add the dependency twice, but also to check that it indeed works - and doesn't affect multiple binaries in the same project)
We have the delightful
But this seems to confuse the (i assume otherwise) automatic dependency added by CMake
Having been bitten by this for the nth time i took a quick look, and pass the full target property to pico_add_link_depend seems to actually do the trick
seems to do the trick, but this probably needs a bit more thorough testing, and also will want to avoid double-jeopardy with
pico_set_linker_script
(i.e. dont add the dependency twice, but also to check that it indeed works - and doesn't affect multiple binaries in the same project)