cmake: Как добавить команду add_custom_command, которая просто выполняет сценарий оболочки? - PullRequest
8 голосов
/ 08 ноября 2011

Когда я использую классический gnu Make, я добавляю действия после сборки, такие как прошивка устройства (если это встроенное устройство) и другие подобные действия.Фактическое мигание обычно скрывается за небольшим sctipt или некоторыми командами.

Затем я могу напечатать что-то вроде

make flash

, поэтому сначала я строю код, а затем он попадает в цель.Классический Makefile может иметь что-то вроде этого:

.PHONY: flash
flash: main.bin
    scripts/do_flash.pl main.bin

Но как мне добавить этот тип действий пост-сборки в сборку cmake?

Как добавить «пользовательскую команду»это просто выполняет сценарий оболочки?

Этот вопрос говорит о add_custom_command: Вопрос cmake add custom command чувствует, что он близок, но для работы add_custom_command, похоже, нужен "выходной файл".Но в этом случае что-то происходит, а не генерируется.

Что бы я добавил в CMakeLists.txt, чтобы добавить такое настраиваемое действие?

/ Спасибо


Для справки ссылка на документацию cmake по этой теме

1 Ответ

12 голосов
/ 08 ноября 2011

Попробуйте это:

add_custom_target(flash
    COMMAND ${PERL_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/do_flash.pl ${MAIN_BIN_FILE}
    DEPENDS ${MAIN_BIN_FILE}
)
...