1e25b118aSDominic Spill# Try to find the libbtbb library 2e25b118aSDominic Spill# 3e25b118aSDominic Spill# Once done this defines: 4e25b118aSDominic Spill# LIBBTBB_FOUND - system has libbtbb 5e25b118aSDominic Spill# LIBBTBB_INCLUDE_DIR - the libbtbb include directory 6e25b118aSDominic Spill# LIBBTBB_LIBRARIES - Link these to use libbtbb 7e25b118aSDominic Spill# 8e25b118aSDominic Spill# Copyright (c) 2013 Dominic Spill 9e25b118aSDominic Spill 10e25b118aSDominic Spill 11e25b118aSDominic Spillif (LIBBTBB_INCLUDE_DIR AND LIBBTBB_LIBRARIES) 12e25b118aSDominic Spill 13e25b118aSDominic Spill # in cache already 14e25b118aSDominic Spill set(LIBBTBB_FOUND TRUE) 15e25b118aSDominic Spill 16e25b118aSDominic Spillelse (LIBBTBB_INCLUDE_DIR AND LIBBTBB_LIBRARIES) 17e25b118aSDominic Spill IF (NOT WIN32) 18e25b118aSDominic Spill # use pkg-config to get the directories and then use these values 19e25b118aSDominic Spill # in the FIND_PATH() and FIND_LIBRARY() calls 20e25b118aSDominic Spill find_package(PkgConfig) 21e25b118aSDominic Spill pkg_check_modules(PC_LIBBTBB QUIET libbtbb) 22e25b118aSDominic Spill ENDIF(NOT WIN32) 23e25b118aSDominic Spill 24e25b118aSDominic Spill FIND_PATH(LIBBTBB_INCLUDE_DIR 25e25b118aSDominic Spill NAMES btbb.h 26e25b118aSDominic Spill HINTS $ENV{LIBBTBB_DIR}/include ${PC_LIBBTBB_INCLUDEDIR} 27fb402f56SDominic Spill PATHS /usr/include /usr/local/include 28fb402f56SDominic Spill /opt/local/include 29fb402f56SDominic Spill ${CMAKE_SOURCE_DIR}/../libbtbb/src 30e25b118aSDominic Spill ${LIBBTBB_INCLUDE_DIR} 31e25b118aSDominic Spill ) 32e25b118aSDominic Spill 33*c256d327SDominic Spill set(libbtbb_library_names btbb btbb-static) 34e25b118aSDominic Spill 35e25b118aSDominic Spill FIND_LIBRARY(LIBBTBB_LIBRARIES 36e25b118aSDominic Spill NAMES ${libbtbb_library_names} 37*c256d327SDominic Spill HINTS $ENV{LIBBTBB_DIR}/lib${LIB_SUFFIX} ${PC_LIBBTBB_LIBDIR} 38*c256d327SDominic Spill PATHS /usr/local/lib${LIB_SUFFIX} /usr/lib${LIB_SUFFIX} /opt/local/lib${LIB_SUFFIX} ${PC_LIBBTBB_LIBDIR} 397178652dSDominic Spill ${PC_LIBBTBB_LIBRARY_DIRS} ${CMAKE_SOURCE_DIR}/../libbtbb/src 40e25b118aSDominic Spill ) 41e25b118aSDominic Spill 42e25b118aSDominic Spill if(LIBBTBB_INCLUDE_DIR) 43e25b118aSDominic Spill set(CMAKE_REQUIRED_INCLUDES ${LIBBTBB_INCLUDE_DIR}) 44e25b118aSDominic Spill endif() 45e25b118aSDominic Spill 46e25b118aSDominic Spill if(LIBBTBB_LIBRARIES) 47e25b118aSDominic Spill set(CMAKE_REQUIRED_LIBRARIES ${LIBBTBB_LIBRARIES}) 48e25b118aSDominic Spill endif() 49e25b118aSDominic Spill 50e25b118aSDominic Spill include(FindPackageHandleStandardArgs) 51e25b118aSDominic Spill FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBBTBB DEFAULT_MSG LIBBTBB_LIBRARIES LIBBTBB_INCLUDE_DIR) 52e25b118aSDominic Spill 53e25b118aSDominic Spill MARK_AS_ADVANCED(LIBBTBB_INCLUDE_DIR LIBBTBB_LIBRARIES) 54e25b118aSDominic Spill 55e25b118aSDominic Spillendif (LIBBTBB_INCLUDE_DIR AND LIBBTBB_LIBRARIES) 56*c256d327SDominic Spill 57*c256d327SDominic SpillINCLUDE(CheckFunctionExists) 58*c256d327SDominic SpillCHECK_FUNCTION_EXISTS("btbb_pcap_create_file" HAVE_BTBB_PCAP) 59