From 183e105f871d959609f9d541bb9fad63d38bd529 Mon Sep 17 00:00:00 2001
From: Navid Nikaein <navid.nikaein@eurecom.fr>
Date: Wed, 16 Dec 2015 11:58:48 +0100
Subject: [PATCH] update CMakeLists--generate .c files for  protobufs

---
 cmake_targets/CMakeLists.txt | 45 +++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 122d41baa2..f8b1a343a5 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -244,6 +244,9 @@ endif (${RTAI})
 set(asn1c_call "${OPENAIR_CMAKE}/tools/generate_asn1")
 set(asn1_generated_dir ${OPENAIR_BIN_DIR})
 
+set(protoc_call "${OPENAIR_CMAKE}/tools/generate_protobuf")
+set(protobuf_generated_dir ${OPENAIR_BIN_DIR})
+
 # RRC
 ######
 add_list2_option(RRC_ASN1_VERSION "Rel10" "ASN.1 version of RRC interface" "Rel8" "Rel10" "CBA")
@@ -691,14 +694,54 @@ include_directories("${OPENAIR_DIR}")
 # Utilities Library
 ################
 if (ENB_AGENT)
+  # set the version of protobuf messages, V3 not supported yet
+  add_list1_option(PRPT_VERSION V2 "PRPT MSG  protobuf  grammar version" V2 V3)
+  
+  if (${PRPT_VERSION} STREQUAL "V2")
+    set (PRPTDIR V2)
+  elseif (${PRPT_VERSION} STREQUAL "V3")
+    set (PRPTDIR V3)
+  endif(${PRPT_VERSION} STREQUAL "V2")
+  
+  set(PRPT_MSG_DIR ${OPENAIR2_DIR}/ENB_APP/MESSAGES/${PRPTDIR} )
+  set(PRPT_MSG_FILES
+    ${PRPT_MSG_DIR}/header.proto
+    ${PRPT_MSG_DIR}/progran.proto
+    ${PRPT_MSG_DIR}/stats_common.proto
+    ${PRPT_MSG_DIR}/stats_messages.proto
+    )
+
+  set(PRPT_C_DIR ${protobuf_generated_dir}/${PRPTDIR})
+  message("calling ${protoc_call} ${PRPT_C_DIR} ${PRPT_MSG_FILES}")
+  execute_process(COMMAND ${protoc_call} ${PRPT_C_DIR} ${PRPT_MSG_FILES})
+  file(GLOB PRPT_source ${PRPT_C_DIR}/*.c)
+  set(PRPT_OAI_generated
+    ${PRPT_C_DIR}/header.pb-c.c
+    ${PRPT_C_DIR}/progran.pb-c.c
+    ${PRPT_C_DIR}/stats_common.pb-c.c
+    ${PRPT_C_DIR}/stats_messages.pb-c.c
+    )
+  
+  file(GLOB prpt_h ${PRPT_C_DIR}/*.h)
+  set(prpt_h ${prpt_h} )
+  
+  add_library(PRPT_MSG
+    ${PRPT_OAI_generated}
+    ${PRPT_source}
+    )
+
+  include_directories ("${PRPT_C_DIR}")
+
   add_library(ASYNC_IF
     ${OPENAIR2_DIR}/UTIL/ASYNC_IF/socket_link.c
     ${OPENAIR2_DIR}/UTIL/ASYNC_IF/link_manager.c
     ${OPENAIR2_DIR}/UTIL/ASYNC_IF/message_queue.c
     )
   set(ASYNC_IF_LIB ASYNC_IF)
+  include_directories(${OPENAIR2_DIR}/UTIL/ASYNC_IF)
+
 endif()
-include_directories(${OPENAIR2_DIR}/UTIL/ASYNC_IF)
+
 
 add_library(HASHTABLE
   ${OPENAIR_DIR}/common/utils/collection/hashtable/hashtable.c
-- 
GitLab