2017-02-16 20 views
0

我使用protoc工具生成.cc.h文件,但是當我修改文件時,CMake沒有進行新的更改。有人可以告訴我如何生成新的.cc.h文件,當.proto文件得到的變化?當修改源文件時,無法使用add_custom_command重新生成文件

下面是我的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

你需要告訴CMake的有關*依賴*命令。用* DEPENDS *選項做到這一點。 – Tsyvarev

回答

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 
) 
相關問題