我想为我生成的三个可执行文件和中date +"%s" > ${TIMESTAMP}
的每一个调用(即仅在创建相应的可执行文件时才创建时间戳)。myapp_data
myapp_live
myapp_sim
即使在删除二进制文件并重新链接之后,我似乎也无法弄清楚为什么我的自定义命令没有被执行。构建工作正常 - 只有时间戳生成不起作用。
MACRO( MY_APP TAG )
SET( BINARY_TGT "myapp_${TAG}" )
SET( TIMESTAMP "TIMESTAMP_${TAG}" )
ADD_EXECUTABLE( ${BINARY_TGT} ${APP_SRCS} )
ADD_CUSTOM_COMMAND(
OUTPUT ${TIMESTAMP}
COMMAND date
ARGS +\"%s\" > ${TIMESTAMP}
DEPENDS ${BINARY_TGT}
)
ENDMACRO( MY_APP )
SUBDIRS( data )
SUBDIRS( live )
SUBDIRS( sim )
在数据目录中,我有:
FILE(GLOB APP_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} main_data.cpp)
SET( MY_TAG data )
MY_APP( "${MY_TAG}" )