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)
13 pkg_check_modules(PC_DBUS dbus-1 QUIET)
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)
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)