1
0
Fork 0
flightgear/CMakeModules/FindDBus.cmake
James Turner a82a13b70c Cmake: fix compat with CMake 3.10
Thankfully StackOverflow had an evil solution to this missing feature
in 3.10.
2020-08-23 22:25:03 +01:00

35 lines
1 KiB
CMake

# Finding dbus (https://www.freedesktop.org/wiki/Software/dbus/)
# Defining:
# DBUS_LIBRARY
# DBUS_INCLUDE_DIR
if(WIN32)
FIND_PATH(DBUS_INCLUDE_DIRS dbus/dbus.h PATH_SUFFIXES include HINTS ${ADDITIONAL_LIBRARY_PATHS})
FIND_LIBRARY(DBUS_LIBRARIES NAMES dbus-1 PATH_SUFFIXES lib HINTS ${ADDITIONAL_LIBRARY_PATHS})
# define an imported target for DBus manually
if (DBUS_INCLUDE_DIRS AND DBUS_LIBRARIES)
add_library(DBus UNKNOWN IMPORTED)
set_target_properties(DBus PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${DBUS_INCLUDE_DIRS}"
IMPORTED_LOCATION "${DBUS_LIBRARIES}"
)
endif()
else()
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_check_modules(DBUS IMPORTED_TARGET dbus-1)
endif (PKG_CONFIG_FOUND)
if(DBUS_FOUND)
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.11.0")
set_target_properties(PkgConfig::DBUS PROPERTIES IMPORTED_GLOBAL TRUE)
endif()
set(HAVE_DBUS 1)
# alias the PkgConfig name to standard one
add_library(DBus ALIAS PkgConfig::DBUS)
endif(DBUS_FOUND)
endif(WIN32)