Warning, /frameworks/extra-cmake-modules/find-modules/FindUDev.cmake is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2010 Rafael Fernández López <ereslibre@kde.org>
0002 # SPDX-FileCopyrightText: 2019 Volker Krause <vkrause@kde.org>
0003 #
0004 # SPDX-License-Identifier: BSD-3-Clause
0005 
0006 #[=======================================================================[.rst:
0007 FindUDev
0008 --------
0009 
0010 Try to find the UDev library.
0011 
0012 This will define the following variables:
0013 
0014 ``UDev_FOUND``
0015     System has UDev.
0016 
0017 ``UDev_INCLUDE_DIRS``
0018     The libudev include directory.
0019 
0020 ``UDev_LIBRARIES``
0021     The libudev libraries.
0022 
0023 ``UDev_VERSION``
0024     The libudev version.
0025 
0026 If ``UDev_FOUND`` is TRUE, it will also define the following imported
0027 target:
0028 
0029 ``UDev::UDev``
0030     The UDev library
0031 
0032 Since 5.57.0.
0033 #]=======================================================================]
0034 
0035 find_package(PkgConfig QUIET)
0036 pkg_check_modules(PC_UDEV QUIET libudev)
0037 
0038 find_path(UDev_INCLUDE_DIRS NAMES libudev.h HINTS ${PC_UDEV_INCLUDE_DIRS})
0039 find_library(UDev_LIBRARIES NAMES udev HINTS ${PC_UDEV_LIBRARY_DIRS})
0040 
0041 set(UDev_VERSION ${PC_UDEV_VERSION})
0042 
0043 include(FindPackageHandleStandardArgs)
0044 find_package_handle_standard_args(UDev
0045     FOUND_VAR UDev_FOUND
0046     REQUIRED_VARS UDev_INCLUDE_DIRS UDev_LIBRARIES
0047     VERSION_VAR UDev_VERSION
0048 )
0049 
0050 mark_as_advanced(UDev_INCLUDE_DIRS UDev_LIBRARIES)
0051 
0052 if(UDev_FOUND AND NOT TARGET UDev::UDev)
0053     add_library(UDev::UDev UNKNOWN IMPORTED)
0054     set_target_properties(UDev::UDev PROPERTIES
0055         IMPORTED_LOCATION "${UDev_LIBRARIES}"
0056         INTERFACE_INCLUDE_DIRECTORIES "${UDev_INCLUDE_DIRS}"
0057         INTERFACE_COMPILE_DEFINITIONS "${PC_UDEV_CFLAGS_OTHER}"
0058     )
0059 endif()
0060 
0061 # backward compat variables, remove for KF6
0062 set(UDEV_FOUND ${UDev_FOUND})
0063 set(UDEV_LIBS ${UDev_LIBRARIES})
0064 set(UDEV_INCLUDE_DIR ${UDev_INCLUDE_DIRS})
0065 mark_as_advanced(UDEV_FOUND UDEV_LIBS UDEV_INCLUDE_DIR)
0066 
0067 include(FeatureSummary)
0068 set_package_properties(UDev PROPERTIES
0069     DESCRIPTION "API for enumerating and introspecting local devices (part of systemd)"
0070     URL "https://www.freedesktop.org/wiki/Software/systemd/"
0071 )