Issue
Using
find_package(Protobuf REQUIRED
PATHS ${PROTOBUF_SEARCH_PATH}
)
if (NOT ${Protobuf_FOUND})
message( FATAL_ERROR "Could not find Protobuf!" )
endif()
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS Foo.proto)
I am getting an error message Unknown CMake command "protobuf_generate_cpp"
. If I check install folder of Protobuff, there is a CMake file <istall path>/cmake/protobuf-module.cmake
which contains the function definition.
CMake version: 3.10.2
Protobuf version: 3.6.1
What is the problem here?
Solution
Looks like the cmake API has changed a bit. Try changing it to
protobuf_generate(
LANGUAGE cpp
TARGET <YOUR_TARGET_NAME>
PROTOS Foo.proto)
This will directly add the generated files to the target's source list.
Have a look in at the protobuf_generate
function in protobuf-config.cmake
for the new options.
Answered By - Andrew