Проблема в том, что hello.bin не очищается при запуске. Чтобы это работало, добавьте:
ел бы сделать что-то вродеadd_custom_command
с именем выходного файла в качестве цели в сгенерированном make-файле. Есть ли элегантный способ сделать это?
Все примеры, которые я видел (такие какFAQ по CMake: латекс) использоватьadd_custom_command
рассказать, как сгенерировать нужный выходной файл, а затемadd_custom_target
создать цель. Например.:
add_executable (hello hello.c)
add_custom_command(OUTPUT hello.bin
COMMAND objcopy --output-format=binary hello hello.bin
DEPENDS hello
COMMENT "objcopying hello to hello.bin")
add_custom_target(bin ALL DEPENDS hello.bin)
Тем не менее, имя цели в сгенерированном make-файлеbin
скорее, чемhello.bin
, Есть ли способ сделатьhello.bin
сама цель в сгенерированном make-файле?
Некоторые решения, которые я пробовал, не работают:
Меняется на:add_custom_target(hello.bin ALL DEPENDS hello.bin)
приводит к циклической зависимости в make-файле.