Makefile 克马克:为什么';t POST_内置的add_custom_命令(…)工作吗?
在命令Makefile 克马克:为什么';t POST_内置的add_custom_命令(…)工作吗?,makefile,cmake,Makefile,Cmake,在命令添加自定义命令(…)中使用PRE\u-BUILDPRE\u-LINKPOST\u-BUILD时,我遇到了一些问题。当我使用POST_BUILD时,我发现命令将在构建目标之前执行,如下所示: [root@VM_33_35_centos build]# make Scanning dependencies of target main [100%] Building C object CMakeFiles/main.dir/main.c.o Linking C executable ma
添加自定义命令(…)
中使用PRE\u-BUILD
PRE\u-LINKPOST\u-BUILD
时,我遇到了一些问题。当我使用POST_BUILD
时,我发现命令将在构建目标之前执行,如下所示:
[root@VM_33_35_centos build]# make
Scanning dependencies of target main
[100%] Building C object CMakeFiles/main.dir/main.c.o
Linking C executable main
This is pre build
This is post build
[100%] Built target main
myCMakeLists.txt
的内容包括:
cmake_minimum_required(VERSION 2.8)
add_executable(main main.c)
add_custom_command(TARGET main
PRE_BUILD
COMMAND echo "This is pre build "
)
add_custom_command(TARGET main
POST_BUILD
COMMAND echo "This is post build"
)
为什么
CMakeLists.txt
第8行的echo“This is post build”
命令在第7行的[100%]builded target main
消息(Linux命令)之后没有执行 添加了add_custom_命令(TARGET)
签名的命令成为目标的部分,也就是说,只有在执行给定命令后,才能假定目标是构建的(build TARGET main
)
POST_-BUILD
关键字说明
在生成目标后运行
表示在创建目标文件(在本例中为可执行文件main
)后执行该命令。此文件是作为链接过程的一部分创建的,在链接C可执行主文件的第行之后开始