- Moved ``<sys/capability.h>`` include inside `__linux__` guard, because all uses are similarly guarded. - <sys/capability.h> is part of an optional devel package, at least in fedora. CMake now explicitly checks that libcap devel files are available. - Added libcap to the list of install packages in .travis.yml, to make the dependency explicit. travis-ci installs the package by default, which is why this hasn't surfaced previously.master
parent
270e01ce6d
commit
aa6bd85da1
@ -0,0 +1,56 @@
|
|||||||
|
#.rst:
|
||||||
|
# FindLibcap
|
||||||
|
# -------
|
||||||
|
#
|
||||||
|
# Find Libcap library
|
||||||
|
#
|
||||||
|
# Try to find Libcap library. The following values are defined
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# Libcap_FOUND - True if Libcap is available
|
||||||
|
# Libcap_INCLUDE_DIRS - Include directories for Libcap
|
||||||
|
# Libcap_LIBRARIES - List of libraries for Libcap
|
||||||
|
# Libcap_DEFINITIONS - List of definitions for Libcap
|
||||||
|
#
|
||||||
|
# and also the following more fine grained variables
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# Libcap_VERSION
|
||||||
|
# Libcap_VERSION_MAJOR
|
||||||
|
# Libcap_VERSION_MINOR
|
||||||
|
#
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright (c) 2017 Jerzi Kaminsky
|
||||||
|
#
|
||||||
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
#
|
||||||
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
# See the License for more information.
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
include(FeatureSummary)
|
||||||
|
set_package_properties(Libcap PROPERTIES
|
||||||
|
URL "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2"
|
||||||
|
DESCRIPTION "Library for getting and setting POSIX.1e capabilities")
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
pkg_check_modules(PC_CAP QUIET Libcap)
|
||||||
|
find_library(Libcap_LIBRARIES NAMES cap HINTS ${PC_CAP_LIBRARY_DIRS})
|
||||||
|
find_path(Libcap_INCLUDE_DIRS sys/capability.h HINTS ${PC_CAP_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
set(Libcap_VERSION ${PC_CAP_VERSION})
|
||||||
|
string(REPLACE "." ";" VERSION_LIST "${PC_CAP_VERSION}")
|
||||||
|
|
||||||
|
LIST(LENGTH VERSION_LIST n)
|
||||||
|
if (n EQUAL 2)
|
||||||
|
list(GET VERSION_LIST 0 Libcap_VERSION_MAJOR)
|
||||||
|
list(GET VERSION_LIST 1 Libcap_VERSION_MINOR)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(Libcap DEFAULT_MSG Libcap_INCLUDE_DIRS Libcap_LIBRARIES)
|
||||||
|
mark_as_advanced(Libcap_INCLUDE_DIRS Libcap_LIBRARIES Libcap_DEFINITIONS
|
||||||
|
Libcap_VERSION Libcap_VERSION_MAJOR Libcap_VERSION_MICRO Libcap_VERSION_MINOR)
|
Loading…
Reference in new issue