aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindPCAP.cmake
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2006-10-24 17:39:32 +0000
committerJörg Mayer <jmayer@loplof.de>2006-10-24 17:39:32 +0000
commite8a5a41045ea1af89a2111701df3c03093b59373 (patch)
tree215b64b41fa646e48e166994be2401233b870af2 /cmake/modules/FindPCAP.cmake
parent493ee85cb01efb108d46bd61cca89487f10a3883 (diff)
Parts of http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1179
Frederic Heem: * More cmake system checks. It compiles dumpcap without running configure, svn path=/trunk/; revision=19672
Diffstat (limited to 'cmake/modules/FindPCAP.cmake')
-rw-r--r--cmake/modules/FindPCAP.cmake38
1 files changed, 30 insertions, 8 deletions
diff --git a/cmake/modules/FindPCAP.cmake b/cmake/modules/FindPCAP.cmake
index 8eb537d9c7..bd0da85eff 100644
--- a/cmake/modules/FindPCAP.cmake
+++ b/cmake/modules/FindPCAP.cmake
@@ -1,27 +1,49 @@
# - Find pcap
# Find the PCAP includes and library
#
-# PCAP_INCLUDE_DIR - where to find pcap.h, etc.
+# PCAP_INCLUDE_DIRS - where to find pcap.h, etc.
# PCAP_LIBRARIES - List of libraries when using pcap.
# PCAP_FOUND - True if pcap found.
+#Includes
FIND_PATH(PCAP_INCLUDE_DIR pcap.h
/usr/local/include
/usr/include
)
-FIND_LIBRARY(PCAP_LIBRARIES
+SET(PCAP_INCLUDE_DIRS ${PCAP_INCLUDE_DIR})
+
+#Library
+FIND_LIBRARY(PCAP_LIBRARY
NAMES pcap
PATHS /usr/lib /usr/local/lib
)
-IF(PCAP_INCLUDE_DIR)
- IF(PCAP_LIBRARIES)
- SET( PCAP_FOUND "YES" )
- ENDIF(PCAP_LIBRARIES)
-ENDIF(PCAP_INCLUDE_DIR)
+SET(PCAP_LIBRARIES ${PCAP_LIBRARY})
+
+#Functions
+INCLUDE(CheckFunctionExists)
+SET(CMAKE_REQUIRED_INCLUDES ${PCAP_INCLUDE_DIRS})
+SET(CMAKE_REQUIRED_LIBRARIES ${PCAP_LIBRARIES})
+CHECK_FUNCTION_EXISTS("pcap_breakloop" HAVE_PCAP_BREAKLOOP)
+CHECK_FUNCTION_EXISTS("pcap_datalink_name_to_val" HAVE_PCAP_DATALINK_NAME_TO_VAL)
+CHECK_FUNCTION_EXISTS("pcap_datalink_val_to_name" HAVE_PCAP_DATALINK_VAL_TO_NAME)
+CHECK_FUNCTION_EXISTS("pcap_findalldevs" HAVE_PCAP_FINDALLDEVS)
+CHECK_FUNCTION_EXISTS("pcap_freecode" HAVE_PCAP_FREECODE)
+CHECK_FUNCTION_EXISTS("pcap_get_selectable_fd" HAVE_PCAP_GET_SELECTABLE_FD)
+CHECK_FUNCTION_EXISTS("pcap_lib_version" HAVE_PCAP_LIB_VERSION)
+CHECK_FUNCTION_EXISTS("pcap_list_datalinks" HAVE_PCAP_LIST_DATALINKS)
+CHECK_FUNCTION_EXISTS("pcap_open_dead" HAVE_PCAP_OPEN_DEAD)
+CHECK_FUNCTION_EXISTS("pcap_set_datalink" HAVE_PCAP_SET_DATALINK)
+
+
+#Is pcap found ?
+IF(PCAP_INCLUDE_DIR AND PCAP_LIBRARY)
+ SET( PCAP_FOUND "YES" )
+ENDIF(PCAP_INCLUDE_DIR AND PCAP_LIBRARY)
+
MARK_AS_ADVANCED(
- PCAP_LIBRARIES
+ PCAP_LIBRARY
PCAP_INCLUDE_DIR
)