Skip to content

Commit

Permalink
Merge pull request #11153 from hudokkow/backport_11146
Browse files Browse the repository at this point in the history
[backport/PR11146][cmake] Add support for libcap if we find it
  • Loading branch information
hudokkow committed Dec 13, 2016
2 parents d3a8ee4 + ef888ba commit 3414c46
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 1 deletion.
2 changes: 1 addition & 1 deletion project/cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ endif()
# Optional dependencies
set(optional_deps MicroHttpd MySqlClient SSH XSLT
Alsa UDEV DBus Avahi SmbClient
PulseAudio VDPAU VAAPI Bluetooth)
PulseAudio VDPAU VAAPI Bluetooth CAP)

# Required, dyloaded deps
set(required_dyload Curl ASS)
Expand Down
44 changes: 44 additions & 0 deletions project/cmake/modules/FindCAP.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#.rst:
# FindCAP
# -----------
# Finds the POSIX 1003.1e capabilities library
#
# This will define the following variables::
#
# CAP_FOUND - system has LibCap
# CAP_INCLUDE_DIRS - the LibCap include directory
# CAP_LIBRARIES - the LibCap libraries
#
# and the following imported targets::
#
# CAP::CAP - The LibCap library

if(PKG_CONFIG_FOUND)
pkg_check_modules(PC_CAP libcap QUIET)
endif()

find_path(CAP_INCLUDE_DIR NAMES sys/capability.h
PATHS ${PC_CAP_INCLUDEDIR})
find_library(CAP_LIBRARY NAMES cap libcap
PATHS ${PC_CAP_LIBDIR})

set(CAP_VERSION ${PC_CAP_VERSION})

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(CAP
REQUIRED_VARS CAP_LIBRARY CAP_INCLUDE_DIR
VERSION_VAR CAP_VERSION)

if(CAP_FOUND)
set(CAP_LIBRARIES ${CAP_LIBRARY})
set(CAP_INCLUDE_DIRS ${CAP_INCLUDE_DIR})

if(NOT TARGET CAP::CAP)
add_library(CAP::CAP UNKNOWN IMPORTED)
set_target_properties(CAP::CAP PROPERTIES
IMPORTED_LOCATION "${CAP_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${CAP_INCLUDE_DIR}")
endif()
endif()

mark_as_advanced(CAP_INCLUDE_DIR CAP_LIBRARY)
3 changes: 3 additions & 0 deletions xbmc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,6 @@ set(HEADERS AppParamParser.h
system_gl.h)

core_add_library(xbmc)
if(CAP_FOUND)
target_compile_definitions(${CORE_LIBRARY} PRIVATE -DHAVE_LIBCAP=1)
endif()

0 comments on commit 3414c46

Please sign in to comment.