mirror of
https://github.com/LizardByte/Sunshine.git
synced 2025-10-29 19:36:06 +00:00
53 lines
1.8 KiB
CMake
53 lines
1.8 KiB
CMake
# - Try to find Udev
|
|
# Once done this will define
|
|
#
|
|
# UDEV_FOUND - system has udev
|
|
# UDEV_RULES_INSTALL_DIR - the udev rules install directory
|
|
# UDEVADM_EXECUTABLE - path to udevadm executable
|
|
# UDEV_VERSION - version of udev/systemd
|
|
|
|
if(NOT WIN32)
|
|
find_package(PkgConfig QUIET)
|
|
if(PKG_CONFIG_FOUND)
|
|
pkg_check_modules(UDEV "udev")
|
|
endif()
|
|
|
|
if(UDEV_FOUND)
|
|
if(UDEV_VERSION)
|
|
message(STATUS "Found udev/systemd version: ${UDEV_VERSION}")
|
|
else()
|
|
message(WARNING "Could not determine udev/systemd version")
|
|
set(UDEV_VERSION "0")
|
|
endif()
|
|
|
|
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE}
|
|
--variable=udev_dir udev
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
OUTPUT_VARIABLE UDEV_RULES_INSTALL_DIR)
|
|
|
|
set(UDEV_RULES_INSTALL_DIR "${UDEV_RULES_INSTALL_DIR}/rules.d")
|
|
|
|
mark_as_advanced(UDEV_RULES_INSTALL_DIR)
|
|
|
|
# Check if udevadm is available
|
|
find_program(UDEVADM_EXECUTABLE udevadm
|
|
PATHS /usr/bin /bin /usr/sbin /sbin
|
|
DOC "Path to udevadm executable")
|
|
mark_as_advanced(UDEVADM_EXECUTABLE)
|
|
|
|
# Handle version requirements
|
|
if(Udev_FIND_VERSION)
|
|
if(UDEV_VERSION VERSION_LESS Udev_FIND_VERSION)
|
|
set(UDEV_FOUND FALSE)
|
|
if(Udev_FIND_REQUIRED)
|
|
message(FATAL_ERROR "Udev version ${UDEV_VERSION} less than required version ${Udev_FIND_VERSION}")
|
|
else()
|
|
message(STATUS "Udev version ${UDEV_VERSION} less than required version ${Udev_FIND_VERSION}")
|
|
endif()
|
|
else()
|
|
message(STATUS "Udev version ${UDEV_VERSION} meets requirement (>= ${Udev_FIND_VERSION})")
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endif()
|