我有一个自定义命令
add_custom_command(
OUTPUT config.h
PRE_BUILD
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mk_config_h.py ${CMAKE_CURRENT_BINARY_DIR}/config.h
)
我正在尝试先运行它,然后生成Unix Makefile。
但是,仅VS2010支持PRE_BUILD,这意味着
config.h
在链接之前已构建。我如何在cmake开始编译源代码之前发出自定义命令。
最佳答案
您应该改用 add_custom_target
和 add_dependencies
来使普通目标依赖它:
add_custom_target(
myCustomTarget
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mk_config_h.py ${CMAKE_CURRENT_BINARY_DIR}/config.h
)
add_dependencies(myTarget myCustomTarget)
这应该确保在编译
myTarget
的源之前运行该命令。
关于cmake - CMake:如何先执行add_custom_command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15972898/