- 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