Merge pull request #25883 from CrystalP/fix-slowscan
[xbmc.git] / cmake / modules / FindDBus.cmake
blob6025d21f08cfe8368332131e907cd6024d243a5b
1 #.rst:
2 # FindDBUS
3 # -------
4 # Finds the DBUS library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::DBus   - The DBUS library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
11   find_package(PkgConfig)
12   if(PKG_CONFIG_FOUND)
13     pkg_check_modules(PC_DBUS dbus-1 QUIET)
14   endif()
16   find_path(DBUS_INCLUDE_DIR NAMES dbus/dbus.h
17                              PATH_SUFFIXES dbus-1.0
18                              HINTS ${PC_DBUS_INCLUDE_DIR})
19   find_path(DBUS_ARCH_INCLUDE_DIR NAMES dbus/dbus-arch-deps.h
20                                   PATH_SUFFIXES dbus-1.0/include
21                                   HINTS ${PC_DBUS_LIBDIR}
22                                   PATHS /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE})
23   find_library(DBUS_LIBRARY NAMES dbus-1
24                             HINTS ${PC_DBUS_LIBDIR})
26   set(DBUS_VERSION ${PC_DBUS_VERSION})
28   include(FindPackageHandleStandardArgs)
29   find_package_handle_standard_args(DBus
30                                     REQUIRED_VARS DBUS_LIBRARY DBUS_INCLUDE_DIR DBUS_ARCH_INCLUDE_DIR
31                                     VERSION_VAR DBUS_VERSION)
33   if(DBUS_FOUND)
34     add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
35     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
36                                                                      IMPORTED_LOCATION "${DBUS_LIBRARY}"
37                                                                      INTERFACE_INCLUDE_DIRECTORIES "${DBUS_INCLUDE_DIR};${DBUS_ARCH_INCLUDE_DIR}"
38                                                                      INTERFACE_COMPILE_DEFINITIONS HAS_DBUS)
39   endif()
40 endif()