@@ -144,21 +144,34 @@ target_link_libraries(mbed-core INTERFACE ${MBED_TARGET_CONVERTED})
144
144
#
145
145
function (mbed_generate_bin_hex target )
146
146
get_property (elf_to_bin GLOBAL PROPERTY ELF2BIN )
147
- if (MBED_TOOLCHAIN STREQUAL "GCC_ARM" )
148
- set (CMAKE_POST_BUILD_COMMAND
149
- COMMAND ${elf_to_bin} -O binary $< TARGET_FILE:${target} > ${CMAKE_CURRENT_BINARY_DIR} /${target}.bin
150
- COMMAND ${CMAKE_COMMAND} -E echo "-- built: ${CMAKE_CURRENT_BINARY_DIR} /${target} .bin"
151
- COMMAND ${elf_to_bin} -O ihex $< TARGET_FILE:${target} > ${CMAKE_CURRENT_BINARY_DIR} /${target}.hex
152
- COMMAND ${CMAKE_COMMAND} -E echo "-- built: ${CMAKE_CURRENT_BINARY_DIR} /${target} .hex"
153
- )
147
+ if (MBED_TOOLCHAIN STREQUAL "GCC_ARM" )
148
+ # The first condition is quoted in case MBED_OUTPUT_EXT is unset
149
+ if ("${MBED_OUTPUT_EXT} " STREQUAL "" OR MBED_OUTPUT_EXT STREQUAL "bin" )
150
+ list (APPEND CMAKE_POST_BUILD_COMMAND
151
+ COMMAND ${elf_to_bin} -O binary $< TARGET_FILE:${target} > ${CMAKE_CURRENT_BINARY_DIR} /${target}.bin
152
+ COMMAND ${CMAKE_COMMAND} -E echo "-- built: ${CMAKE_CURRENT_BINARY_DIR} /${target} .bin"
153
+ )
154
+ endif ()
155
+ if ("${MBED_OUTPUT_EXT} " STREQUAL "" OR MBED_OUTPUT_EXT STREQUAL "hex" )
156
+ list (APPEND CMAKE_POST_BUILD_COMMAND
157
+ COMMAND ${elf_to_bin} -O ihex $< TARGET_FILE:${target} > ${CMAKE_CURRENT_BINARY_DIR} /${target}.hex
158
+ COMMAND ${CMAKE_COMMAND} -E echo "-- built: ${CMAKE_CURRENT_BINARY_DIR} /${target} .hex"
159
+ )
160
+ endif ()
154
161
elseif (MBED_TOOLCHAIN STREQUAL "ARM" )
155
162
get_property (mbed_studio_arm_compiler GLOBAL PROPERTY MBED_STUDIO_ARM_COMPILER )
156
- set (CMAKE_POST_BUILD_COMMAND
157
- COMMAND ${elf_to_bin} ${mbed_studio_arm_compiler} --bin -o ${CMAKE_CURRENT_BINARY_DIR} /${target}.bin $< TARGET_FILE:${target} >
158
- COMMAND ${CMAKE_COMMAND} -E echo "-- built: ${CMAKE_CURRENT_BINARY_DIR} /${target} .bin"
163
+ if ("${MBED_OUTPUT_EXT} " STREQUAL "" OR MBED_OUTPUT_EXT STREQUAL "bin" )
164
+ list (APPEND CMAKE_POST_BUILD_COMMAND
165
+ COMMAND ${elf_to_bin} ${mbed_studio_arm_compiler} --bin -o ${CMAKE_CURRENT_BINARY_DIR} /${target}.bin $< TARGET_FILE:${target} >
166
+ COMMAND ${CMAKE_COMMAND} -E echo "-- built: ${CMAKE_CURRENT_BINARY_DIR} /${target} .bin"
167
+ )
168
+ endif ()
169
+ if ("${MBED_OUTPUT_EXT} " STREQUAL "" OR MBED_OUTPUT_EXT STREQUAL "hex" )
170
+ list (APPEND CMAKE_POST_BUILD_COMMAND
159
171
COMMAND ${elf_to_bin} ${mbed_studio_arm_compiler} --i32combined -o ${CMAKE_CURRENT_BINARY_DIR} /${target}.hex $< TARGET_FILE:${target} >
160
172
COMMAND ${CMAKE_COMMAND} -E echo "-- built: ${CMAKE_CURRENT_BINARY_DIR} /${target} .hex"
161
- )
173
+ )
174
+ endif ()
162
175
endif ()
163
176
add_custom_command (
164
177
TARGET
0 commit comments