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