如何使用CMake post_build执行shell脚本?
如何使用CMake执行shell脚本?应该运行的命令是如何使用CMake post_build执行shell脚本?,c,linux,cmake,C,Linux,Cmake,如何使用CMake执行shell脚本?应该运行的命令是my_script,应该在生成后执行。CMakeLists.txt cmake_minimum_required(VERSION 3.0) project(abc) include_directories("/usr/lib/avr/include") set(CMAKE_CURRENT_SOURCE_DIR /home/user/Desktop) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmcu=at
my_script
,应该在生成后执行。CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project(abc)
include_directories("/usr/lib/avr/include")
set(CMAKE_CURRENT_SOURCE_DIR /home/user/Desktop)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmcu=atmega8")
set(SOURCE_FILES main.c)
add_executable(abc ${SOURCE_FILES})
#not working ----->
add_custom_command(TARGET abc
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E my_script
)
免责声明
是的,SO、等中也有类似的问题;然而,他们并没有给我一个清晰的愿景如何实现这一点。您正在使用它调用CMake,它不执行通用脚本或命令 相反,你可以做
add_custom_command(TARGET abc
POST_BUILD
COMMAND /bin/sh /path/to/my_script
)
优雅的回答,恰到好处:)有没有办法使用相对路径而不是脚本的绝对路径?@MattKelly当然,但是相对路径将来自构建目录。最好使用一个CMake目录变量(如
${PROJECT\u SOURCE\u DIR}
或类似变量)。