aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-plugin/vapi/CMakeLists.txt
diff options
context:
space:
mode:
authorAlberto Compagno <acompagn+fdio@cisco.com>2020-01-27 16:04:33 +0100
committerAlberto Compagno <acompagn+fdio@cisco.com>2020-01-27 16:56:28 +0100
commitb0768b35fb515b7c0a15c3c7d8c1227497c59786 (patch)
tree1e2b1318f680fffd555ddc26a48e4a4156b06dfc /hicn-plugin/vapi/CMakeLists.txt
parentbe54ac541c9700eaa9085bc8b4ee21b7a5f7e30a (diff)
[HICN-488] Adding lock to vapi calls and manage vapi_connect in order to connect only once.
- Added library to hicn-plugin called safe_vapi that takes care of handling concurrent calls to the vapi. - Removed dependency of libhicnctrl from libtransport and added dependency to safe_vapi. - Added dependency to safe_vapi on libhicnctrl Change-Id: Ie49e8319f64a50e7ed6a56e041db977c3b184cc5 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Diffstat (limited to 'hicn-plugin/vapi/CMakeLists.txt')
-rw-r--r--hicn-plugin/vapi/CMakeLists.txt70
1 files changed, 70 insertions, 0 deletions
diff --git a/hicn-plugin/vapi/CMakeLists.txt b/hicn-plugin/vapi/CMakeLists.txt
new file mode 100644
index 000000000..00bcaf49f
--- /dev/null
+++ b/hicn-plugin/vapi/CMakeLists.txt
@@ -0,0 +1,70 @@
+# Copyright (c) 2019 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
+
+set(SAFE_VAPI safe_vapi CACHE INTERNAL "" FORCE)
+set(SAFE_VAPI_SHARED ${SAFE_VAPI}.shared CACHE INTERNAL "" FORCE)
+set(SAFE_VAPI_STATIC ${SAFE_VAPI}.static CACHE INTERNAL "" FORCE)
+
+project(${SAFE_VAPI})
+
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
+ "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Modules/"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules/"
+)
+
+include (Packaging)
+include (BuildMacros)
+
+# Dependencies
+
+find_package(Vpp REQUIRED)
+
+list(APPEND HEADER_FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/vapi/vapi_safe.h
+)
+
+list(APPEND SOURCE_FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/vapi_safe.c
+)
+
+set (LIBRARIES
+ ${VPP_LIBRARIES})
+
+list (APPEND INCLUDE_DIRS
+ ${VPP_INCLUDE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+build_library(${SAFE_VAPI}
+ SHARED STATIC
+ SOURCES ${SOURCE_FILES} ${HEADER_FILES}
+ INSTALL_HEADERS ${HEADER_FILES}
+ LINK_LIBRARIES ${LIBRARIES}
+ COMPONENT ${HICN_PLUGIN}
+ INCLUDE_DIRS ${INCLUDE_DIRS}
+ INSTALL_ROOT_DIR /
+ DEFINITIONS ${COMPILER_DEFINITIONS}
+ )
+
+set(SAFE_VAPI_INCLUDE_DIRS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ "" CACHE INTERNAL
+ "" FORCE
+)
+
+set(SAFE_VAPI_LIBRARIES
+ ${SAFE_VAPI_SHARED}
+ "" CACHE INTERNAL
+ "" FORCE
+)
+