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})
add_custom_target(mbed-post-build
ALL
DEPENDS
mbed-post-build-bin-${MBED_TARGET}
)
# The artefacts must be created before they can be further manipulated
add_dependencies(mbed-post-build-bin-${MBED_TARGET} ${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()
endfunction()

View File

@ -6,16 +6,11 @@
#
macro(mbed_set_post_build_operation)
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_target(mbed-post-build-bin-${mbed_target_name})
add_custom_command(
OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/${APP_TARGET}.bin
TARGET
mbed-post-build-bin-${mbed_target_name}
POST_BUILD
COMMAND
${post_build_command}