FindProtobuf: Make outputs depend on protoc executable

After updating from Protocol Buffers 2.5.0 to 2.6.0 compilation of the
generated source failed: "This file was generated by an older version of
protoc which is incompatible with your Protocol Buffer headers. Please
regenerate this file with a newer version of protoc.".

Turns out the source and headers generated by way of
FindProtobuf.cmake:PROTOBUF_GENERATE_CPP aren't updated. Adding a
dependency on the compiler executable fixes this issue.
This commit is contained in:
Michael Hanselmann 2014-09-17 06:11:10 +02:00 committed by Brad King
parent 201cc6fe09
commit e380d7c5ba
1 changed files with 1 additions and 1 deletions

View File

@ -183,7 +183,7 @@ function(PROTOBUF_GENERATE_CPP SRCS HDRS)
"${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h" "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h"
COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} COMMAND ${PROTOBUF_PROTOC_EXECUTABLE}
ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} ${_protobuf_include_path} ${ABS_FIL} ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} ${_protobuf_include_path} ${ABS_FIL}
DEPENDS ${ABS_FIL} DEPENDS ${ABS_FIL} ${PROTOBUF_PROTOC_EXECUTABLE}
COMMENT "Running C++ protocol buffer compiler on ${FIL}" COMMENT "Running C++ protocol buffer compiler on ${FIL}"
VERBATIM ) VERBATIM )
endforeach() endforeach()