cmake:如何添加一个只执行一个shellscript的add_custom_command?

Joh*_*han 8 build-process makefile cmake

当我使用经典gnu Make我放入后期构建操作,如flash设备(如果它是嵌入式设备)和其他类似的操作.实际闪烁通常隐藏在一些sctipt或一些命令后面.

然后我可以输入类似的东西

make flash
Run Code Online (Sandbox Code Playgroud)

所以我首先构建代码然后它最终在目标上.经典的Makefile可能有类似的东西:

.PHONY: flash
flash: main.bin
    scripts/do_flash.pl main.bin
Run Code Online (Sandbox Code Playgroud)

但是如何将这种后期构建操作添加到cmake构建中?

如何添加仅执行shellscript的"自定义命令"?

这个问题讨论了add_custom_command:问题cmake add custom命令感觉它很接近,但add_custom_command似乎需要一个"输出文件"才能工作.但在这种情况下,有一些事情发生,而不是生成.

我会在CMakeLists.txt中添加这样的自定义操作?

/谢谢


供参考,链接到关于此主题的cmake文档

arr*_*owd 12

试试这个:

add_custom_target(flash
    COMMAND ${PERL_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/do_flash.pl ${MAIN_BIN_FILE}
    DEPENDS ${MAIN_BIN_FILE}
)
Run Code Online (Sandbox Code Playgroud)