From 58d904a328c0d849769b483e901a0be9426b8209 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期二, 20 七月 2021 20:20:44 +0800 Subject: [PATCH] 调整Request C.BHFree的位置 --- proto/cpp/CMakeLists.txt | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 50 insertions(+), 5 deletions(-) diff --git a/proto/cpp/CMakeLists.txt b/proto/cpp/CMakeLists.txt index abf2098..f193a2e 100644 --- a/proto/cpp/CMakeLists.txt +++ b/proto/cpp/CMakeLists.txt @@ -3,9 +3,54 @@ set (Target "bhome_msg") project(${Target}) -find_package(Protobuf REQUIRED) -file(GLOB proto_files ../source/*.proto) -PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${proto_files}) +#璁剧疆杈撳嚭璺緞 +SET(MESSAGE_DIR ${CMAKE_SOURCE_DIR}/proto) +if(EXISTS "${CMAKE_SOURCE_DIR}/proto" AND IS_DIRECTORY "${CMAKE_SOURCE_DIR}/proto") + SET(PROTO_META_BASE_DIR ${MESSAGE_DIR}) +else() + file(MAKE_DIRECTORY ${MESSAGE_DIR}) + SET(PROTO_META_BASE_DIR ${MESSAGE_DIR}) +endif() -add_library(${Target} STATIC ${PROTO_SRCS}) -target_link_libraries(${Target} libprotobuf-lite.a) + +#鑾峰彇闇�瑕佺紪璇戠殑proto鏂囦欢 +set(MSG_PROTOS + bhome_msg.proto + bhome_msg_api.proto + error_msg.proto + ) + +set(MESSAGE_SRC "") +set(MESSAGE_HDRS "") + +foreach(msg ${MSG_PROTOS}) + message(${msg}) + + get_filename_component(FIL_WE ${msg} NAME_WE) + message(${FIL_WE}) + + list(APPEND MESSAGE_SRC "${MESSAGE_DIR}/${FIL_WE}.pb.cc") + list(APPEND MESSAGE_HDRS "${MESSAGE_DIR}/${FIL_WE}.pb.h") + + # 浣跨敤鑷畾涔夊懡浠� + execute_process( + COMMAND ${CMAKE_SOURCE_DIR}/protobuf/protoc --cpp_out=${MESSAGE_DIR} --proto_path=${CMAKE_SOURCE_DIR}/proto/source ${msg} + ) + +endforeach() + +# 璁剧疆鏂囦欢灞炴�т负 GENERATED +set_source_files_properties(${MESSAGE_SRC} ${MESSAGE_HDRS} PROPERTIES GENERATED TRUE) + +# 娣诲姞鑷畾涔塼arget +add_custom_target(generate_message ALL + DEPENDS ${MESSAGE_SRC} ${MESSAGE_HDRS} + COMMENT "generate message target" + VERBATIM + ) + + +include_directories(${CMAKE_SOURCE_DIR}/protobuf/include) + +add_library(${Target} STATIC ${MESSAGE_SRC}) +target_link_libraries(${Target} ${CMAKE_SOURCE_DIR}/protobuf/lib/libprotobuf-lite.a) \ No newline at end of file -- Gitblit v1.8.0