共计 604 个字符,预计需要花费 2 分钟才能阅读完成。
第一个参数 OUTPUT 或者 TARGET 决定了此命令何时被执行。
TARGET
意思是当 target 被编译完时,就执行此 COMMAND
add_executable(MakeTable MakeTable.cxx)
add_custom_command(
TARGET MakeTable
POST_BUILD(默认值)
COMMAND MakeTable ${CMAKE_CURRENT_BINARY_DIR}/Table2.h
)
OUTPUT
意思是 OUTPUT 所指局部被依赖时,才执行此 COMMAND。上面的 add_library(…) 如果最初不蕴含 ${CMAKE_CURRENT_BINARY_DIR}/Table.h 那么这个 COMMAND 就不会被执行
add_executable(MakeTable MakeTable.cxx)
add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Table.h
COMMAND MakeTable ${CMAKE_CURRENT_BINARY_DIR}/Table.h
DEPENDS MakeTable
)
include_directories(${CMAKE_CURRENT_BINARY_DIR} )
add_library(Mylib SHARED mylib.cpp ${CMAKE_CURRENT_BINARY_DIR}/Table.h )
源码地址
正文完