aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/Modules
diff options
context:
space:
mode:
authorAlberto Compagno <acompagn+fdio@cisco.com>2020-02-11 08:54:33 +0100
committerAlberto Compagno <acompagn+fdio@cisco.com>2020-02-18 15:44:20 +0100
commit4590ae6202d7f3fbf932a57e4d9500ce5ac1e473 (patch)
tree57ec4de8d93fc899e45222d1f24f1d9b84c30d5f /cmake/Modules
parentfbe679d3c25a69ab6b238ebe896ba83e3c8ac6e4 (diff)
[HICN-510] Adding collectd plugins to get telemetry from vpp and hicn-plugin
Change-Id: Idb322dc712b52301c66c5256ad8d1a6a65b503b9 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Diffstat (limited to 'cmake/Modules')
-rw-r--r--cmake/Modules/BuildMacros.cmake30
-rw-r--r--cmake/Modules/FindCollectd.cmake47
-rw-r--r--cmake/Modules/FindVapiSafe.cmake40
3 files changed, 108 insertions, 9 deletions
diff --git a/cmake/Modules/BuildMacros.cmake b/cmake/Modules/BuildMacros.cmake
index c4c6c9af1..d360d26af 100644
--- a/cmake/Modules/BuildMacros.cmake
+++ b/cmake/Modules/BuildMacros.cmake
@@ -73,7 +73,7 @@ macro(build_library lib)
cmake_parse_arguments(ARG
"SHARED;STATIC;NO_DEV"
"COMPONENT;"
- "SOURCES;LINK_LIBRARIES;INSTALL_HEADERS;DEPENDS;INCLUDE_DIRS;DEFINITIONS;INSTALL_ROOT_DIR;INSTALL_FULL_PATH_DIR"
+ "SOURCES;LINK_LIBRARIES;INSTALL_HEADERS;DEPENDS;INCLUDE_DIRS;DEFINITIONS;INSTALL_ROOT_DIR;INSTALL_FULL_PATH_DIR;EMPTY_PREFIX;"
${ARGN}
)
@@ -106,14 +106,26 @@ macro(build_library lib)
)
endif()
- set_target_properties(${library}
- PROPERTIES
- INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}"
- INSTALL_RPATH_USE_LINK_PATH TRUE
- ARCHIVE_OUTPUT_DIRECTORY "${BUILD_ROOT}/lib"
- LIBRARY_OUTPUT_DIRECTORY "${BUILD_ROOT}/lib"
- RUNTIME_OUTPUT_DIRECTORY "${BUILD_ROOT}/bin"
- )
+ if (${ARG_EMPTY_PREFIX})
+ set_target_properties(${library}
+ PROPERTIES
+ INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}"
+ INSTALL_RPATH_USE_LINK_PATH TRUE
+ PREFIX ""
+ ARCHIVE_OUTPUT_DIRECTORY "${BUILD_ROOT}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${BUILD_ROOT}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${BUILD_ROOT}/bin"
+ )
+ else ()
+ set_target_properties(${library}
+ PROPERTIES
+ INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}"
+ INSTALL_RPATH_USE_LINK_PATH TRUE
+ ARCHIVE_OUTPUT_DIRECTORY "${BUILD_ROOT}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${BUILD_ROOT}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${BUILD_ROOT}/bin"
+ )
+ endif()
if (WIN32)
target_compile_options(${library} PRIVATE)
diff --git a/cmake/Modules/FindCollectd.cmake b/cmake/Modules/FindCollectd.cmake
new file mode 100644
index 000000000..76d2df43f
--- /dev/null
+++ b/cmake/Modules/FindCollectd.cmake
@@ -0,0 +1,47 @@
+# Copyright (c) 2020 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.
+
+set(COLLECTD_SEARCH_PATH_LIST
+ ${COLLECTD_HOME}
+ $ENV{COLLECTD_HOME}
+ /usr/local
+ /opt
+ /usr
+ )
+
+find_path(COLLECTD_INCLUDE_DIR collectd.h
+ HINTS ${COLLECTD_SEARCH_PATH_LIST}
+ PATH_SUFFIXES include/collectd/core/daemon/ daemon/
+ DOC "Find the collectd includes"
+)
+
+find_path(COLLECTD_COMMON_INCLUDE_DIR common.h
+ HINTS ${COLLECTD_SEARCH_PATH_LIST}
+ PATH_SUFFIXES include/collectd/core/daemon/ utils/common/
+ DOC "Find the collectd includes"
+)
+
+find_path(COLLECTD_CONFIG_INCLUDE_DIR config.h
+ HINTS ${COLLECTD_SEARCH_PATH_LIST}
+ PATH_SUFFIXES include/collectd/core/
+ DOC "Find the collectd includes"
+)
+
+message(STATUS ${COLLECTD_INCLUDE_DIR} ${COLLECTD_COMMON_INCLUDE_DIR} ${COLLECTD_CONFIG_INCLUDE_DIR})
+
+set(COLLECTD_INCLUDE_DIRS ${COLLECTD_INCLUDE_DIR} ${COLLECTD_COMMON_INCLUDE_DIR} ${COLLECTD_CONFIG_INCLUDE_DIR})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Collectd DEFAULT_MSG COLLECTD_INCLUDE_DIRS)
+
+mark_as_advanced(COLLECTD_INCLUDE_DIRS)
diff --git a/cmake/Modules/FindVapiSafe.cmake b/cmake/Modules/FindVapiSafe.cmake
new file mode 100644
index 000000000..c2c9fd762
--- /dev/null
+++ b/cmake/Modules/FindVapiSafe.cmake
@@ -0,0 +1,40 @@
+# Copyright (c) 2020 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.
+
+set(SAFE_VAPI_SEARCH_PATH_LIST
+ ${SAFE_VAPI_HOME}
+ $ENV{SAFE_VAPI_HOME}
+ /usr/local
+ /opt
+ /usr
+)
+
+find_path(SAFE_VAPI_INCLUDE_DIR vapi/vapi_safe.h
+ HINTS ${SAFE_VAPI_SEARCH_PATH_LIST}
+ PATH_SUFFIXES include
+ DOC "Find the vapi_safe includes"
+)
+
+find_library(SAFE_VAPI_LIBRARY NAMES libsafe_vapi.so
+ HINTS ${SAFE_VAPI_SEARCH_PATH_LIST}
+ PATH_SUFFIXES lib/x86_64-linux-gnu/
+ DOC "Find the vapi safe lib"
+)
+
+set(SAFE_VAPI_LIBRARIES ${SAFE_VAPI_LIBRARY})
+set(SAFE_VAPI_INCLUDE_DIRS ${SAFE_VAPI_INCLUDE_DIR})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(VapiSafe DEFAULT_MSG SAFE_VAPI_LIBRARIES SAFE_VAPI_INCLUDE_DIRS)
+
+mark_as_advanced(SAFE_VAPI_LIBRARY SAFE_VAPI_INCLUDE_DIR)