CMake: Refactor post-build hook to remove APP_TARGET references

There should not be a reference to APP_TARGET in Mbed OS as end-users
may decide to use a different name for the CMake variable to store their
application name.
pull/14304/head
Hugues Kamba 2021-02-19 11:52:57 +00:00
parent 26606218ad
commit 0eae4f6c3f
2 changed files with 10 additions and 13 deletions

View File

@ -187,11 +187,13 @@ function(mbed_generate_bin_hex target)
) )
if(TARGET mbed-post-build-bin-${MBED_TARGET}) if(TARGET mbed-post-build-bin-${MBED_TARGET})
add_custom_target(mbed-post-build # The artefacts must be created before they can be further manipulated
ALL add_dependencies(mbed-post-build-bin-${MBED_TARGET} ${target})
DEPENDS
mbed-post-build-bin-${MBED_TARGET} # Add a post-build hook to the top-level CMake target in the form of a
) # CMake custom target. The hook depends on Mbed target specific
# post-build CMake target which has a custom command attached to it.
add_custom_target(mbed-post-build ALL DEPENDS mbed-post-build-bin-${MBED_TARGET})
endif() endif()
endfunction() endfunction()

View File

@ -6,16 +6,11 @@
# #
macro(mbed_set_post_build_operation) macro(mbed_set_post_build_operation)
add_custom_target(mbed-post-build-bin-${mbed_target_name} add_custom_target(mbed-post-build-bin-${mbed_target_name})
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${APP_TARGET}.bin
)
# Ensures the application artefacts are created before manipulating them.
add_dependencies(mbed-post-build-bin-${mbed_target_name} ${APP_TARGET})
add_custom_command( add_custom_command(
OUTPUT TARGET
${CMAKE_CURRENT_BINARY_DIR}/${APP_TARGET}.bin mbed-post-build-bin-${mbed_target_name}
POST_BUILD POST_BUILD
COMMAND COMMAND
${post_build_command} ${post_build_command}