第一个参数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 )
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。