diff options
Diffstat (limited to 'telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt')
-rw-r--r-- | telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt | 94 |
1 files changed, 56 insertions, 38 deletions
diff --git a/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt b/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt index fc39b9385..85dd51577 100644 --- a/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt +++ b/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Cisco and/or its affiliates. +# Copyright (c) 2021-2022 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: @@ -11,45 +11,63 @@ # See the License for the specific language governing permissions and # limitations under the License. -cmake_minimum_required(VERSION 3.5 FATAL_ERROR) - +############################################################## # Dependencies -find_package(Collectd REQUIRED) -find_package(Vpp REQUIRED) - -if(${CMAKE_SOURCE_DIR}/vpp-collectd STREQUAL ${PROJECT_SOURCE_DIR}) - message (STATUS "not compiling in the same folder") - find_package(HicnPlugin REQUIRED) - find_package(VapiSafe REQUIRED) -else() - message (STATUS "compiling in the same folder") - list(APPEND DEPENDENCIES - hicn_plugin - ) -endif() +############################################################## +find_package(HicnPlugin ${CURRENT_VERSION} REQUIRED) +find_package(Libsafevapi ${CURRENT_VERSION} REQUIRED NO_MODULE) + +############################################################## +# Source files +############################################################## list(APPEND SOURCE_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/vpp_hicn.c + ${CMAKE_CURRENT_SOURCE_DIR}/vpp_hicn.c ) -list (APPEND INCLUDE_DIRS - ${COLLECTD_INCLUDE_DIRS} - ${HICNPLUGIN_INCLUDE_DIRS} - ${SAFE_VAPI_INCLUDE_DIRS} - ${VPP_INCLUDE_DIRS} - ${CMAKE_CURRENT_SOURCE_DIR}) - -list (APPEND LIBRARIES - ${VPP_LIBRARY_VAPICLIENT} - ${SAFE_VAPI_LIBRARIES}) - -build_library(vpp_hicn - SHARED - SOURCES ${SOURCE_FILES} - LINK_LIBRARIES ${LIBRARIES} - INCLUDE_DIRS ${INCLUDE_DIRS} - INSTALL_FULL_PATH_DIR ${CMAKE_INSTALL_PREFIX}/lib/collectd - COMPONENT "${COLLECTD_PLUGINS}" - DEPENDS ${DEPENDENCIES} - EMPTY_PREFIX true - ) + +############################################################## +# Include dirs +############################################################## +list(APPEND INCLUDE_DIRS + ${COLLECTD_INCLUDE_DIRS} + ${THIRD_PARTY_INCLUDE_DIRS} + ${HICNPLUGIN_INCLUDE_DIRS} + ${Libsafe_vapi_INCLUDE_DIRS} + ${VPP_INCLUDE_DIRS} +) + + +############################################################## +# Libraries +############################################################## +list(APPEND LIBRARIES + ${VPP_LIBRARY_VAPICLIENT} + hicn::safevapi.shared +) + + +############################################################## +# Compiler options +############################################################## +list(APPEND COMPILER_OPTIONS + ${DEFAULT_COMPILER_OPTIONS} + ${COLLECTD_COMPILER_OPTIONS} +) + + +############################################################## +# Build library +############################################################## +build_library(${VPP_HICN_TELEMETRY} + SHARED + EMPTY_PREFIX + SOURCES ${SOURCE_FILES} + LINK_LIBRARIES ${LIBRARIES} + INCLUDE_DIRS + PRIVATE ${INCLUDE_DIRS} + INSTALL_FULL_PATH_DIR ${COLLECTD_PLUGIN_DIR} + COMPONENT ${COLLECTD_PLUGINS} + DEPENDS ${DEPENDENCIES} + COMPILE_OPTIONS ${COMPILER_OPTIONS} +) |