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