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