1# - try to find the udev library 2# 3# Cache Variables: (probably not for direct use in your scripts) 4# UDEV_INCLUDE_DIR 5# UDEV_SOURCE_DIR 6# UDEV_LIBRARY 7# 8# Non-cache variables you might use in your CMakeLists.txt: 9# UDEV_FOUND 10# UDEV_INCLUDE_DIRS 11# UDEV_LIBRARIES 12# 13# Requires these CMake modules: 14# FindPackageHandleStandardArgs (known included with CMake >=2.6.2) 15# 16# Original Author: 17# 2014 Kevin M. Godby <kevin@godby.org> 18# 19# Distributed under the Boost Software License, Version 1.0. 20# (See accompanying file LICENSE_1_0.txt or copy at 21# http://www.boost.org/LICENSE_1_0.txt) 22 23set(UDEV_ROOT_DIR 24 "${UDEV_ROOT_DIR}" 25 CACHE 26 PATH 27 "Directory to search for udev") 28 29find_package(PkgConfig QUIET) 30if(PKG_CONFIG_FOUND) 31 pkg_check_modules(PC_LIBUDEV libudev) 32endif() 33 34find_library(UDEV_LIBRARY 35 NAMES 36 udev 37 PATHS 38 ${PC_LIBUDEV_LIBRARY_DIRS} 39 ${PC_LIBUDEV_LIBDIR} 40 HINTS 41 "${UDEV_ROOT_DIR}" 42 PATH_SUFFIXES 43 lib 44 ) 45 46get_filename_component(_libdir "${UDEV_LIBRARY}" PATH) 47 48find_path(UDEV_INCLUDE_DIR 49 NAMES 50 libudev.h 51 PATHS 52 ${PC_LIBUDEV_INCLUDE_DIRS} 53 ${PC_LIBUDEV_INCLUDEDIR} 54 HINTS 55 "${_libdir}" 56 "${_libdir}/.." 57 "${UDEV_ROOT_DIR}" 58 PATH_SUFFIXES 59 include 60 ) 61 62include(FindPackageHandleStandardArgs) 63find_package_handle_standard_args(UDEV 64 DEFAULT_MSG 65 UDEV_LIBRARY 66 UDEV_INCLUDE_DIR 67 ) 68 69if(UDEV_FOUND) 70 list(APPEND UDEV_LIBRARIES ${UDEV_LIBRARY}) 71 list(APPEND UDEV_INCLUDE_DIRS ${UDEV_INCLUDE_DIR}) 72 mark_as_advanced(UDEV_ROOT_DIR) 73endif() 74 75mark_as_advanced(UDEV_INCLUDE_DIR 76 UDEV_LIBRARY) 77 78