From 93cce70da552edb89a745ee43a2446e9d5e0121d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Tue, 20 Oct 2020 20:42:45 +0200 Subject: [PATCH] Fix Evdev and Udev for old CMake (#338) --- setsu/cmake/FindEvdev.cmake | 18 +++++++++++------- setsu/cmake/FindUdev.cmake | 17 +++++++++++------ 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/setsu/cmake/FindEvdev.cmake b/setsu/cmake/FindEvdev.cmake index 0703889..5ea7dea 100644 --- a/setsu/cmake/FindEvdev.cmake +++ b/setsu/cmake/FindEvdev.cmake @@ -4,13 +4,17 @@ set(_prefix Evdev) set(_target "${_prefix}::libevdev") find_package(PkgConfig) - -if(PkgConfig_FOUND) - pkg_check_modules("${_prefix}" libevdev) - if(${_prefix}_FOUND AND NOT TARGET "${_target}") - add_library("${_target}" INTERFACE IMPORTED) - target_link_libraries("${_target}" INTERFACE ${${_prefix}_LIBRARIES}) - target_include_directories("${_target}" INTERFACE ${${_prefix}_INCLUDE_DIRS}) +if(PkgConfig_FOUND AND NOT TARGET ${_target}) + pkg_check_modules("${_prefix}" libevdev IMPORTED_TARGET) + if((TARGET PkgConfig::${_prefix}) AND (NOT CMAKE_VERSION VERSION_LESS "3.11.0")) + set_target_properties(PkgConfig::${_prefix} PROPERTIES IMPORTED_GLOBAL ON) + add_library(${_target} ALIAS PkgConfig::${_prefix}) + elseif(${_prefix}_FOUND) + add_library(${_target} INTERFACE IMPORTED) + set_target_properties(${_target} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${${_prefix}_INCLUDE_DIRS}") + set_target_properties(${_target} PROPERTIES + INTERFACE_LINK_LIBRARIES "${${_prefix}_LIBRARIES}") endif() endif() diff --git a/setsu/cmake/FindUdev.cmake b/setsu/cmake/FindUdev.cmake index a35b5f6..fc1c81f 100644 --- a/setsu/cmake/FindUdev.cmake +++ b/setsu/cmake/FindUdev.cmake @@ -4,12 +4,17 @@ set(_prefix Udev) set(_target "${_prefix}::libudev") find_package(PkgConfig) -if(PkgConfig_FOUND) - pkg_check_modules("${_prefix}" libudev) - if(${_prefix}_FOUND AND NOT TARGET "${_target}") - add_library("${_target}" INTERFACE IMPORTED) - target_link_libraries("${_target}" INTERFACE ${${_prefix}_LIBRARIES}) - target_include_directories("${_target}" INTERFACE ${${_prefix}_INCLUDE_DIRS}) +if(PkgConfig_FOUND AND NOT TARGET ${_target}) + pkg_check_modules("${_prefix}" libudev IMPORTED_TARGET) + if((TARGET PkgConfig::${_prefix}) AND (NOT CMAKE_VERSION VERSION_LESS "3.11.0")) + set_target_properties(PkgConfig::${_prefix} PROPERTIES IMPORTED_GLOBAL ON) + add_library(${_target} ALIAS PkgConfig::${_prefix}) + elseif(${_prefix}_FOUND) + add_library(${_target} INTERFACE IMPORTED) + set_target_properties(${_target} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${${_prefix}_INCLUDE_DIRS}") + set_target_properties(${_target} PROPERTIES + INTERFACE_LINK_LIBRARIES "${${_prefix}_LIBRARIES}") endif() endif()