|
|
@ -389,13 +389,60 @@ function(go_test TARGET_NAME)
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
endfunction(go_test)
|
|
|
|
endfunction(go_test)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Modification of standard 'protobuf_generate_cpp()' with protobuf-lite support
|
|
|
|
|
|
|
|
# Usage:
|
|
|
|
|
|
|
|
# paddle_protobuf_generate_cpp(<proto_srcs> <proto_hdrs> <proto_files>)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function(paddle_protobuf_generate_cpp SRCS HDRS)
|
|
|
|
|
|
|
|
if(NOT ARGN)
|
|
|
|
|
|
|
|
message(SEND_ERROR "Error: paddle_protobuf_generate_cpp() called without any proto files")
|
|
|
|
|
|
|
|
return()
|
|
|
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set(${SRCS})
|
|
|
|
|
|
|
|
set(${HDRS})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (MOBILE_INFERENCE)
|
|
|
|
|
|
|
|
set(EXTRA_FLAG "lite:")
|
|
|
|
|
|
|
|
else()
|
|
|
|
|
|
|
|
set(EXTRA_FLAG "")
|
|
|
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach(FIL ${ARGN})
|
|
|
|
|
|
|
|
get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
|
|
|
|
|
|
|
|
get_filename_component(FIL_WE ${FIL} NAME_WE)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set(_protobuf_protoc_src "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc")
|
|
|
|
|
|
|
|
set(_protobuf_protoc_hdr "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h")
|
|
|
|
|
|
|
|
list(APPEND ${SRCS} "${_protobuf_protoc_src}")
|
|
|
|
|
|
|
|
list(APPEND ${HDRS} "${_protobuf_protoc_hdr}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
|
|
|
|
OUTPUT "${_protobuf_protoc_src}"
|
|
|
|
|
|
|
|
"${_protobuf_protoc_hdr}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}"
|
|
|
|
|
|
|
|
COMMAND ${PROTOBUF_PROTOC_EXECUTABLE}
|
|
|
|
|
|
|
|
-I${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
|
|
|
|
--cpp_out "${EXTRA_FLAG}${CMAKE_CURRENT_BINARY_DIR}" ${ABS_FIL}
|
|
|
|
|
|
|
|
DEPENDS ${ABS_FIL} protoc
|
|
|
|
|
|
|
|
COMMENT "Running C++ protocol buffer compiler on ${FIL}"
|
|
|
|
|
|
|
|
VERBATIM )
|
|
|
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set_source_files_properties(${${SRCS}} ${${HDRS}} PROPERTIES GENERATED TRUE)
|
|
|
|
|
|
|
|
set(${SRCS} ${${SRCS}} PARENT_SCOPE)
|
|
|
|
|
|
|
|
set(${HDRS} ${${HDRS}} PARENT_SCOPE)
|
|
|
|
|
|
|
|
endfunction()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function(proto_library TARGET_NAME)
|
|
|
|
function(proto_library TARGET_NAME)
|
|
|
|
set(oneValueArgs "")
|
|
|
|
set(oneValueArgs "")
|
|
|
|
set(multiValueArgs SRCS DEPS)
|
|
|
|
set(multiValueArgs SRCS DEPS)
|
|
|
|
cmake_parse_arguments(proto_library "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
|
|
cmake_parse_arguments(proto_library "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
|
|
set(proto_srcs)
|
|
|
|
set(proto_srcs)
|
|
|
|
set(proto_hdrs)
|
|
|
|
set(proto_hdrs)
|
|
|
|
protobuf_generate_cpp(proto_srcs proto_hdrs ${proto_library_SRCS})
|
|
|
|
paddle_protobuf_generate_cpp(proto_srcs proto_hdrs ${proto_library_SRCS})
|
|
|
|
cc_library(${TARGET_NAME} SRCS ${proto_srcs} DEPS ${proto_library_DEPS} protobuf)
|
|
|
|
cc_library(${TARGET_NAME} SRCS ${proto_srcs} DEPS ${proto_library_DEPS} protobuf)
|
|
|
|
endfunction()
|
|
|
|
endfunction()
|
|
|
|
|
|
|
|
|
|
|
|