Я пытаюсь добавить команду после сборки в небольшой проект, который автоматически возьмет мой выходной файл сборки (ELF) и преобразует его в формат Intel HEX для перепрограммирования на микроконтроллере.
Однако, когда я добавляю эту команду, сборка завершается неудачно. Он повторяет команду, заменив все строки переменных CMake, запускаемые оболочкой, и исправляет ее с помощью : not found
.
Когда я запускаю эту точную строку в терминале после обычной успешной сборки ELF, она работает как положено. Есть ли что-то, что мне не хватает с тем, как CMake справляется с этим?
Я добавил цель в свой CMakeLists.txt следующим образом:
add_custom_command(
TARGET ${EXECUTABLE_NAME}
POST_BUILD
COMMAND "${CMAKE_OBJCOPY} -O ihex ${EXECUTABLE_NAME} ${PROJECT_NAME}.hex"
)
Команда в конечном итоге преобразуется в <absolute-path>/avr-objcopy -O ihex test_blink.elf test_blink.hex
, что я могу проверить, поскольку она выводится CMake на терминал.