Skip to content

Commit

Permalink
Fix dependency on files used by picotool (#2027)
Browse files Browse the repository at this point in the history
Add the key files and partition table JSON to the link dependencies, to ensure the postprocessing is run when any of them are updated. Link dependencies seem to be the simplest way, as the elf file needs re-linking anyway given it has been post-processed, so this doesn't add any unecessary extra processing.

Without this fix, if you modify a pt.json file or a private key, the ouptut binary will not have the correct pt/key.
  • Loading branch information
will-v-pi authored Nov 9, 2024
1 parent 809a423 commit 2331e6f
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions tools/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,7 @@ function(picotool_postprocess_binary TARGET)
if (picotool_sign_output)
list(APPEND picotool_args "--sign")
get_target_property(picotool_sigfile ${TARGET} PICOTOOL_SIGFILE)
pico_add_link_depend(${TARGET} ${picotool_sigfile})
endif()

get_target_property(picotool_hash_output ${TARGET} PICOTOOL_HASH_OUTPUT)
Expand All @@ -442,10 +443,19 @@ function(picotool_postprocess_binary TARGET)

# Embed PT properties
get_target_property(picotool_embed_pt ${TARGET} PICOTOOL_EMBED_PT)
if (picotool_embed_pt)
pico_add_link_depend(${TARGET} ${picotool_embed_pt})
endif()

# Encryption properties
get_target_property(picotool_aesfile ${TARGET} PICOTOOL_AESFILE)
if (picotool_aesfile)
pico_add_link_depend(${TARGET} ${picotool_aesfile})
endif()
get_target_property(picotool_enc_sigfile ${TARGET} PICOTOOL_ENC_SIGFILE)
if (picotool_enc_sigfile)
pico_add_link_depend(${TARGET} ${picotool_enc_sigfile})
endif()

# Extra args
get_target_property(extra_process_args ${TARGET} PICOTOOL_EXTRA_PROCESS_ARGS)
Expand Down

0 comments on commit 2331e6f

Please sign in to comment.