diff --git a/channels/urbdrc/client/CMakeLists.txt b/channels/urbdrc/client/CMakeLists.txt index 53391f100..736097122 100644 --- a/channels/urbdrc/client/CMakeLists.txt +++ b/channels/urbdrc/client/CMakeLists.txt @@ -31,6 +31,10 @@ set(${MODULE_PREFIX}_SRCS include_directories(..) +find_package(UDev REQUIRED) +find_package(UUID REQUIRED) +find_package(DbusGlib REQUIRED) + add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry") set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") @@ -38,9 +42,9 @@ set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") #set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} libusb-devman) set(${MODULE_PREFIX}_LIBS - dbus-glib-1 - udev - uuid) + ${DBUS_GLIB_LIBRARIES} + ${UDEV_LIBRARIES} + ${UUID_LIBRARIES}) set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS MONOLITHIC ${MONOLITHIC_BUILD} diff --git a/cmake/FindDBus.cmake b/cmake/FindDBus.cmake new file mode 100644 index 000000000..b002a754b --- /dev/null +++ b/cmake/FindDBus.cmake @@ -0,0 +1,73 @@ +# - Try to find the low-level D-Bus library +# Once done this will define +# +# DBUS_FOUND - system has D-Bus +# DBUS_INCLUDE_DIR - the D-Bus include directory +# DBUS_ARCH_INCLUDE_DIR - the D-Bus architecture-specific include directory +# DBUS_LIBRARIES - the libraries needed to use D-Bus + +# Copyright (c) 2008, Kevin Kofler, +# modeled after FindLibArt.cmake: +# Copyright (c) 2006, Alexander Neundorf, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +if (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES) + + # in cache already + SET(DBUS_FOUND TRUE) + +else (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES) + + IF (NOT WIN32) + FIND_PACKAGE(PkgConfig) + IF (PKG_CONFIG_FOUND) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + pkg_check_modules(_DBUS_PC QUIET dbus-1) + ENDIF (PKG_CONFIG_FOUND) + ENDIF (NOT WIN32) + + FIND_PATH(DBUS_INCLUDE_DIR dbus/dbus.h + ${_DBUS_PC_INCLUDE_DIRS} + /usr/include + /usr/include/dbus-1.0 + /usr/local/include + ) + + FIND_PATH(DBUS_ARCH_INCLUDE_DIR dbus/dbus-arch-deps.h + ${_DBUS_PC_INCLUDE_DIRS} + /usr/lib${LIB_SUFFIX}/include + /usr/lib${LIB_SUFFIX}/dbus-1.0/include + /usr/lib64/include + /usr/lib64/dbus-1.0/include + /usr/lib/include + /usr/lib/dbus-1.0/include + ) + + FIND_LIBRARY(DBUS_LIBRARIES NAMES dbus-1 dbus + PATHS + ${_DBUS_PC_LIBDIR} + ) + + + if (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES) + set(DBUS_FOUND TRUE) + endif (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES) + + + if (DBUS_FOUND) + if (NOT DBus_FIND_QUIETLY) + message(STATUS "Found D-Bus: ${DBUS_LIBRARIES}") + endif (NOT DBus_FIND_QUIETLY) + else (DBUS_FOUND) + if (DBus_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find D-Bus") + endif (DBus_FIND_REQUIRED) + endif (DBUS_FOUND) + + MARK_AS_ADVANCED(DBUS_INCLUDE_DIR DBUS_ARCH_INCLUDE_DIR DBUS_LIBRARIES) + +endif (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES) + diff --git a/cmake/FindDbusGlib.cmake b/cmake/FindDbusGlib.cmake new file mode 100644 index 000000000..ae966bc65 --- /dev/null +++ b/cmake/FindDbusGlib.cmake @@ -0,0 +1,38 @@ +# DbusGlib library detection +# +# Copyright 2013 Thinstuff Technologies GmbH +# Copyright 2013 Armin Novak +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +find_package(PkgConfig) +pkg_check_modules(PC_DBUS_GLIB QUIET dbus-glib-1) +set(DBUS_GLIB_DEFINITIONS ${PC_DBUS_GLIB_CFLAGS_OTHER}) + +find_path(DBUS_GLIB_INCLUDE_DIR dbus/dbus-glib.h + HINTS ${PC_DBUS_GLIB_INCLUDEDIR} ${PC_DBUS_GLIB_INCLUDE_DIRS} + PATH_SUFFIXES dbus-glib-1 ) + +find_library(DBUS_GLIB_LIBRARY NAMES dbus-glib-1 dbus-glib + HINTS ${PC_DBUS_GLIB_LIBDIR} ${PC_DBUS_GLIB_LIBRARY_DIRS} ) + +set(DBUS_GLIB_LIBRARIES ${DBUS_GLIB_LIBRARY} ) +set(DBUS_GLIB_INCLUDE_DIRS ${DBUS_GLIB_INCLUDE_DIR} ) + +include(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set DBUS_GLIB_FOUND to TRUE +# if all listed variables are TRUE +find_package_handle_standard_args(dbus-glib DEFAULT_MSG + DBUS_GLIB_LIBRARY DBUS_GLIB_INCLUDE_DIR) + +mark_as_advanced(DBUS_GLIB_INCLUDE_DIR DBUS_GLIB_LIBRARY ) diff --git a/cmake/FindUDev.cmake b/cmake/FindUDev.cmake new file mode 100644 index 000000000..f16761572 --- /dev/null +++ b/cmake/FindUDev.cmake @@ -0,0 +1,53 @@ +# razor-de: Configure libudev environment +# +# UDEV_FOUND - system has a libudev +# UDEV_INCLUDE_DIR - where to find header files +# UDEV_LIBRARIES - the libraries to link against udev +# UDEV_STABLE - it's true when is the version greater or equals to 143 - version when the libudev was stabilized in its API +# +# copyright (c) 2011 Petr Vanek +# Redistribution and use is allowed according to the terms of the BSD license. +# + +FIND_PATH( + UDEV_INCLUDE_DIR + libudev.h + /usr/include + /usr/local/include + ${UDEV_PATH_INCLUDES} +) + +FIND_LIBRARY( + UDEV_LIBRARIES + NAMES udev libudev + PATHS + /usr/lib${LIB_SUFFIX} + /usr/local/lib${LIB_SUFFIX} + ${UDEV_PATH_LIB} +) + +IF (UDEV_LIBRARIES AND UDEV_INCLUDE_DIR) + SET(UDEV_FOUND "YES") + execute_process(COMMAND pkg-config --atleast-version=143 libudev RESULT_VARIABLE UDEV_STABLE) + # retvale is 0 of the condition is "true" so we need to negate the value... + if (UDEV_STABLE) +set(UDEV_STABLE 0) + else (UDEV_STABLE) +set(UDEV_STABLE 1) + endif (UDEV_STABLE) + message(STATUS "libudev stable: ${UDEV_STABLE}") +ENDIF (UDEV_LIBRARIES AND UDEV_INCLUDE_DIR) + +IF (UDEV_FOUND) + MESSAGE(STATUS "Found UDev: ${UDEV_LIBRARIES}") + MESSAGE(STATUS " include: ${UDEV_INCLUDE_DIR}") +ELSE (UDEV_FOUND) + MESSAGE(STATUS "UDev not found.") + MESSAGE(STATUS "UDev: You can specify includes: -DUDEV_PATH_INCLUDES=/opt/udev/include") + MESSAGE(STATUS " currently found includes: ${UDEV_INCLUDE_DIR}") + MESSAGE(STATUS "UDev: You can specify libs: -DUDEV_PATH_LIB=/opt/udev/lib") + MESSAGE(STATUS " currently found libs: ${UDEV_LIBRARIES}") + IF (UDev_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find UDev library") + ENDIF (UDev_FIND_REQUIRED) +ENDIF (UDEV_FOUND) diff --git a/cmake/FindUUID.cmake b/cmake/FindUUID.cmake new file mode 100644 index 000000000..330e5caba --- /dev/null +++ b/cmake/FindUUID.cmake @@ -0,0 +1,113 @@ +# - Try to find UUID +# Once done this will define +# +# UUID_FOUND - system has UUID +# UUID_INCLUDE_DIRS - the UUID include directory +# UUID_LIBRARIES - Link these to use UUID +# UUID_DEFINITIONS - Compiler switches required for using UUID +# +# Copyright (c) 2006 Andreas Schneider +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + + +if (UUID_LIBRARIES AND UUID_INCLUDE_DIRS) +# in cache already +set(UUID_FOUND TRUE) +else (UUID_LIBRARIES AND UUID_INCLUDE_DIRS) +find_path(UUID_INCLUDE_DIR +NAMES +uuid/uuid.h +PATHS +${UUID_DIR}/include +$ENV{UUID_DIR}/include +$ENV{UUID_DIR} +${DELTA3D_EXT_DIR}/inc +$ENV{DELTA_ROOT}/ext/inc +$ENV{DELTA_ROOT} +~/Library/Frameworks +/Library/Frameworks +/usr/local/include +/usr/include +/usr/include/gdal +/sw/include # Fink +/opt/local/include # DarwinPorts +/opt/csw/include # Blastwave +/opt/include +[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include +/usr/freeware/include + +) + +find_library(UUID_LIBRARY +NAMES +uuid +PATHS +${UUID_DIR}/lib +$ENV{UUID_DIR}/lib +$ENV{UUID_DIR} +${DELTA3D_EXT_DIR}/lib +$ENV{DELTA_ROOT}/ext/lib +$ENV{DELTA_ROOT} +$ENV{OSG_ROOT}/lib +~/Library/Frameworks +/Library/Frameworks +/usr/local/lib +/usr/lib +/sw/lib +/opt/local/lib +/opt/csw/lib +/opt/lib +/usr/freeware/lib64 +) + +find_library(UUID_LIBRARY_DEBUG +NAMES +uuidd +PATHS +${UUID_DIR}/lib +$ENV{UUID_DIR}/lib +$ENV{UUID_DIR} +${DELTA3D_EXT_DIR}/lib +$ENV{DELTA_ROOT}/ext/lib +$ENV{DELTA_ROOT} +$ENV{OSG_ROOT}/lib +~/Library/Frameworks +/Library/Frameworks +/usr/local/lib +/usr/lib +/sw/lib +/opt/local/lib +/opt/csw/lib +/opt/lib +/usr/freeware/lib64 +) + +set(UUID_INCLUDE_DIRS +${UUID_INCLUDE_DIR} +) +set(UUID_LIBRARIES +${UUID_LIBRARY} +) + +if (UUID_INCLUDE_DIRS AND UUID_LIBRARIES) +set(UUID_FOUND TRUE) +endif (UUID_INCLUDE_DIRS AND UUID_LIBRARIES) + +if (UUID_FOUND) +if (NOT UUID_FIND_QUIETLY) +message(STATUS "Found UUID: ${UUID_LIBRARIES}") +endif (NOT UUID_FIND_QUIETLY) +else (UUID_FOUND) +if (UUID_FIND_REQUIRED) +message(FATAL_ERROR "Could not find UUID") +endif (UUID_FIND_REQUIRED) +endif (UUID_FOUND) + +# show the UUID_INCLUDE_DIRS and UUID_LIBRARIES variables only in the advanced view +mark_as_advanced(UUID_INCLUDE_DIRS UUID_LIBRARIES) + +endif (UUID_LIBRARIES AND UUID_INCLUDE_DIRS)