From 55d06ad1cd4f64fc7382bcaf14dc57c1f16db8fe Mon Sep 17 00:00:00 2001 From: Mauro Sardara Date: Mon, 12 Dec 2022 16:19:35 +0000 Subject: feat: upgrade to VPP 22.10 Change-Id: I556bd8c44f0ff7a631a0df34b498ffd7952fcf4a Signed-off-by: Mauro Sardara --- hicn-plugin/libvapi-safe/CMakeLists.txt | 128 ++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 hicn-plugin/libvapi-safe/CMakeLists.txt (limited to 'hicn-plugin/libvapi-safe/CMakeLists.txt') diff --git a/hicn-plugin/libvapi-safe/CMakeLists.txt b/hicn-plugin/libvapi-safe/CMakeLists.txt new file mode 100644 index 000000000..ba647aa34 --- /dev/null +++ b/hicn-plugin/libvapi-safe/CMakeLists.txt @@ -0,0 +1,128 @@ +# Copyright (c) 2021-2023 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. + +############################################################## +# Libs and Bins names +############################################################## +set(SAFE_VAPI safevapi CACHE INTERNAL "" FORCE) +set(SAFE_VAPI_SHARED ${SAFE_VAPI}.shared CACHE INTERNAL "" FORCE) +set(SAFE_VAPI_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/includes CACHE INTERNAL "" FORCE) +set(SAFE_VAPI_LIBRARIES ${SAFE_VAPI_SHARED} CACHE INTERNAL "" FORCE) + + +############################################################## +# C/CXX Standard +############################################################## +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_C_STANDARD 11) + + +############################################################## +# Dependencies and third party libs +############################################################## +find_package(Vpp ${VPP_DEFAULT_VERSION} EXACT REQUIRED) +find_package(Asio ${ASIO_DEFAULT_VERSION} REQUIRED) + + +############################################################## +# Check if building as subproject or as root project +############################################################## +if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) + include(CommonSetup) + find_package(HicnPlugin ${CURRENT_VERSION} EXACT REQUIRED) +else() + list(APPEND DEPENDENCIES + ${HICNPLUGIN_SHARED} + ) +endif() + + +############################################################## +# Sources +############################################################## +list(APPEND HEADER_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/includes/vapi/vapi_safe.h +) + +list(APPEND SOURCE_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/src/vapi_safe.cc +) + + +############################################################## +# Compiler Options +############################################################## +set(COMPILER_OPTIONS + ${DEFAULT_COMPILER_OPTIONS} + ${MARCH_COMPILER_OPTIONS} +) + + +############################################################## +# Libraries to link +############################################################## +set (LIBRARIES + ${VPP_LIBRARY_VAPICLIENT} +) + + +############################################################## +# Include directories +############################################################## +list (APPEND INCLUDE_DIRS + PUBLIC + $ + $ + $ + $ + $ +) + + +############################################################## +# Compiler definitions +############################################################## +list(APPEND COMPILER_DEFINITIONS + PUBLIC "-DASIO_STANDALONE" +) + + +############################################################## +# Build library +############################################################## +build_library(${SAFE_VAPI} + SHARED + SOURCES ${SOURCE_FILES} ${HEADER_FILES} + INSTALL_HEADERS ${HEADER_FILES} + LINK_LIBRARIES PRIVATE ${LIBRARIES} + COMPONENT ${HICN_PLUGIN} + INCLUDE_DIRS ${INCLUDE_DIRS} + HEADER_ROOT_DIR "" + DEFINITIONS PRIVATE ${COMPILER_DEFINITIONS} + DEPENDS ${DEPENDENCIES} + VERSION ${CURRENT_VERSION} + EXPORT_NAME "libsafevapi" + COMPILE_OPTIONS ${COMPILER_OPTIONS} +) + + +############################################################## +# Create cmake configuration +############################################################## +create_cmake_config ( + "libsafevapi" + INCLUDE_DIRS ${SAFE_VAPI_INCLUDE_DIRS} + VERSION ${CURRENT_VERSION} + COMPONENT ${HICN_PLUGIN} + NAMESPACE hicn +) -- cgit 1.2.3-korg