From 8f554b793c68fd5271334bf0e167dabc4c9ac73d Mon Sep 17 00:00:00 2001 From: msardara Date: Tue, 11 Dec 2018 18:36:55 +0100 Subject: Added CMake building system for libmemif Added Cpack support for building libmemif DEB/RPM packages Fixed compilation errors in libmemif test and examples Change-Id: I59a237a4ca8eb08840857d5b0e666f3a8d74411d Signed-off-by: msardara --- extras/libmemif/cmake/FindCheck.cmake | 71 +++++++++++++++++++++++++++++++++ extras/libmemif/cmake/FindSubunit.cmake | 47 ++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 extras/libmemif/cmake/FindCheck.cmake create mode 100644 extras/libmemif/cmake/FindSubunit.cmake (limited to 'extras/libmemif/cmake') diff --git a/extras/libmemif/cmake/FindCheck.cmake b/extras/libmemif/cmake/FindCheck.cmake new file mode 100644 index 00000000000..e5f399c5449 --- /dev/null +++ b/extras/libmemif/cmake/FindCheck.cmake @@ -0,0 +1,71 @@ +# Copyright (c) 2018 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. + +######################################## +# +# Find the Libcheck library and includes +# This module sets: +# CHECK_FOUND: True if Libcheck was found +# CHECK_LIBRARY: The Libcheck library +# CHECK_INCLUDE_DIR: The Libcheck include dir +# + +set(CHECK_SEARCH_PATH_LIST + ${CHECK_HOME} + $ENV{CHECK_HOME} + /usr/local + /opt + /usr +) + +find_path(CHECK_INCLUDE_DIR check.h + HINTS ${CHECK_SEARCH_PATH_LIST} + PATH_SUFFIXES include + DOC "Find the check includes" +) + +find_library(CHECK_LIBRARY NAMES check + HINTS ${CHECK_SEARCH_PATH_LIST} + PATH_SUFFIXES lib + DOC "Find the check libraries" +) + +execute_process( + COMMAND grep "CHECK_MICRO_VERSION" ${CHECK_INCLUDE_DIR}/check.h + COMMAND grep -Eo [0-9]+ + OUTPUT_VARIABLE CHECK_MICRO_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +execute_process( + COMMAND grep "CHECK_MINOR_VERSION" ${CHECK_INCLUDE_DIR}/check.h + COMMAND grep -Eo [0-9]+ + OUTPUT_VARIABLE CHECK_MINOR_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +execute_process( + COMMAND grep "CHECK_MAJOR_VERSION" ${CHECK_INCLUDE_DIR}/check.h + COMMAND grep -Eo [0-9]+ + OUTPUT_VARIABLE CHECK_MAJOR_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +set(CHECK_VERSION "${CHECK_MAJOR_VERSION}.${CHECK_MINOR_VERSION}.${CHECK_MICRO_VERSION}") + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + Check + REQUIRED_VARS CHECK_LIBRARY CHECK_INCLUDE_DIR + VERSION_VAR CHECK_VERSION +) \ No newline at end of file diff --git a/extras/libmemif/cmake/FindSubunit.cmake b/extras/libmemif/cmake/FindSubunit.cmake new file mode 100644 index 00000000000..121cb5f10e2 --- /dev/null +++ b/extras/libmemif/cmake/FindSubunit.cmake @@ -0,0 +1,47 @@ +# Copyright (c) 2018 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. + +######################################## +# +# Find the Libsubunit library and includes +# This module sets: +# SUBUNIT_FOUND: True if Libsubunit was found +# SUBUNIT_LIBRARY: The Libsubunit library +# SUBUNIT_INCLUDE_DIR: The Libsubunit include dir +# + +set(SUBUNIT_SEARCH_PATH_LIST + ${SUBUNIT_HOME} + $ENV{SUBUNIT_HOME} + /usr/local + /opt + /usr +) + +find_path(SUBUNIT_INCLUDE_DIR + NAMES child.h + HINTS ${SUBUNIT_SEARCH_PATH_LIST} + PATH_SUFFIXES include subunit +) + +find_library(SUBUNIT_LIBRARY + NAMES subunit + PATH_SUFFIXES lib + HINTS ${SUBUNIT_SEARCH_PATH_LIST} +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + Subunit + REQUIRED_VARS SUBUNIT_LIBRARY SUBUNIT_INCLUDE_DIR +) \ No newline at end of file -- cgit 1.2.3-korg