From b0768b35fb515b7c0a15c3c7d8c1227497c59786 Mon Sep 17 00:00:00 2001 From: Alberto Compagno Date: Mon, 27 Jan 2020 16:04:33 +0100 Subject: [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 --- hicn-plugin/vapi/CMakeLists.txt | 70 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 hicn-plugin/vapi/CMakeLists.txt (limited to 'hicn-plugin/vapi/CMakeLists.txt') 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 +) + -- cgit 1.2.3-korg