aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindCAP.cmake
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-09-25 12:09:23 +0200
committerAnders Broman <a.broman58@gmail.com>2014-10-01 08:14:34 +0000
commit9506909223f6155085a7a4d5adc039ebf60030f2 (patch)
tree56fa8255ec510c82e412ebff32f7e0b0bab705d9 /cmake/modules/FindCAP.cmake
parent0ac441b3ec36a65090721ffaf8bf668dd1b0bbbb (diff)
cmake: use pkg-config for resolving dependencies
Changes: * Fix glib2 search path. * Add pkg-config support to CAP, GEOIP, GNUTLS, LUA, PortAudio (API 19), zlib, kerberos. * Add pkg-config support to libnl3, libnl2 and libnl1 (but tested only with libnl3). This makes it easier to do 32-bit builds on 64-bit hosts by just setting `PKG_CONFIG_LIBDIR`. Due to how HINTS work, it is still fragile though: missing 32-bit libraries will cause a fallback to 64-bit libraries. A future patch could check for `<PREFIX>_FOUND` and remove the manual `find_path` and `find_library` hackery since the paths are already known. Change-Id: Ieb4fb74695c96afb1a4c70168e84abb1fa4612c6 Reviewed-on: https://code.wireshark.org/review/4292 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'cmake/modules/FindCAP.cmake')
-rw-r--r--cmake/modules/FindCAP.cmake13
1 files changed, 10 insertions, 3 deletions
diff --git a/cmake/modules/FindCAP.cmake b/cmake/modules/FindCAP.cmake
index 09d3b86620..0ed69f671f 100644
--- a/cmake/modules/FindCAP.cmake
+++ b/cmake/modules/FindCAP.cmake
@@ -12,12 +12,19 @@ IF (CAP_INCLUDE_DIRS)
SET(CAP_FIND_QUIETLY TRUE)
ENDIF (CAP_INCLUDE_DIRS)
-FIND_PATH(CAP_INCLUDE_DIR sys/capability.h)
+find_package(PkgConfig)
+pkg_search_module(CAP libcap)
+
+FIND_PATH(CAP_INCLUDE_DIR sys/capability.h
+ HINTS ${CAP_INCLUDEDIR}
+)
SET(CAP_NAMES cap)
-FIND_LIBRARY(CAP_LIBRARY NAMES ${CAP_NAMES} )
+FIND_LIBRARY(CAP_LIBRARY NAMES ${CAP_NAMES}
+ HINTS ${CAP_LIBDIR}
+)
-# handle the QUIETLY and REQUIRED arguments and set CAP_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set CAP_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CAP DEFAULT_MSG CAP_LIBRARY CAP_INCLUDE_DIR)