initial commit
This commit is contained in:
34
cmake/Modules/protobuf.cmake
Normal file
34
cmake/Modules/protobuf.cmake
Normal file
@@ -0,0 +1,34 @@
|
||||
function(protobuf_generate_cpp)
|
||||
set(OPTIONS)
|
||||
set(SINGLE_VALUE_KEYWORDS
|
||||
PROTO_PATH
|
||||
CPP_PATH
|
||||
HPP_PATH
|
||||
)
|
||||
set(MULTI_VALUE_KEYWORDS)
|
||||
cmake_parse_arguments(protobuf
|
||||
"${OPTIONS}"
|
||||
"${SINGLE_VALUE_KEYWORDS}"
|
||||
"${MULTI_VALUE_KEYWORDS}"
|
||||
${ARGN})
|
||||
|
||||
FILE(GLOB PROTO_FILES ${protobuf_PROTO_PATH}/*.proto)
|
||||
set(PROTOC ${CMAKE_BINARY_DIR}/libs/protobuf/protoc)
|
||||
# set(PROTOC protoc)
|
||||
|
||||
FOREACH(proto ${PROTO_FILES})
|
||||
FILE(TO_NATIVE_PATH ${proto} proto_native)
|
||||
get_filename_component(protoFILENAME ${proto} NAME_WLE )
|
||||
get_filename_component(protoDIR ${proto} DIRECTORY)
|
||||
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT "${protoDIR}/${protoFILENAME}.pb.cc"
|
||||
DEPENDS "${protoDIR}/${protoFILENAME}.proto"
|
||||
COMMAND ${PROTOC} --cpp_out=${protoDIR} --proto_path=${protoDIR} --proto_path="${CMAKE_SOURCE_DIR}/libs/protobuf/src" "${protoDIR}/${protoFILENAME}.proto"
|
||||
)
|
||||
|
||||
ENDFOREACH(proto)
|
||||
|
||||
|
||||
endfunction()
|
||||
Reference in New Issue
Block a user