xref: /libbtbb/cmake/modules/FindBTBB.cmake (revision c256d3273fd9d12e1c6e52402af29877bb738fdb)
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