修改源文件时无法使用add_custom_command重新生成文件

时间:2017-02-16 09:25:15

标签: cmake

我正在使用protoc工具生成.cc.h文件,但是当我修改文件时,CMake没有进行新的更改。有人可以告诉我,当.cc文件发生变化时,如何生成新的.h.proto文件?

以下是我的cmake命令:

add_custom_command(OUTPUT SensorMessage.pb.h SensorMessage.pb.cc 
              COMMAND protoc
              -I ${PROJECT_SOURCE_DIR}/telemetry/common
              --cpp_out=${CMAKE_CURRENT_BINARY_DIR}
              ${CMAKE_CURRENT_SOURCE_DIR}/SensorMessage.proto)

1 个答案:

答案 0 :(得分:0)

只需将DEPENDS添加到add_custom_command:

add_custom_command(
    OUTPUT SensorMessage.pb.h SensorMessage.pb.cc 
    COMMAND protoc -I ${PROJECT_SOURCE_DIR}/telemetry/common 
            --cpp_out=${CMAKE_CURRENT_BINARY_DIR}
            ${CMAKE_CURRENT_SOURCE_DIR}/SensorMessage.proto
    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/SensorMessage.proto
)