Добавление пользовательской команды с именем файла в качестве цели

Я хотел бы сделать что-то вроде add_custom_command , с выходным файлом name в качестве цели в сгенерированном make-файле. Есть ли элегантный способ делать это?

Во всех примерах, которые я видел (например, CMake FAQ re: latex ), используется 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 целью в сгенерированном файле makefile?

Некоторые решения, которые я пробовал, не работают:

  • Изменение на: add_custom_target (hello.bin ВСЕ ЗАВИСИТ hello.bin) приводит к циклической зависимости в makefile.

7
задан Peter Mortensen 1 September 2018 в 05:05
поделиться