Fix Evdev and Udev for old CMake (#338)

This commit is contained in:
Florian Märkl 2020-10-20 20:42:45 +02:00 committed by GitHub
commit 93cce70da5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 13 deletions

View file

@ -4,13 +4,17 @@ set(_prefix Evdev)
set(_target "${_prefix}::libevdev") set(_target "${_prefix}::libevdev")
find_package(PkgConfig) find_package(PkgConfig)
if(PkgConfig_FOUND AND NOT TARGET ${_target})
if(PkgConfig_FOUND) pkg_check_modules("${_prefix}" libevdev IMPORTED_TARGET)
pkg_check_modules("${_prefix}" libevdev) if((TARGET PkgConfig::${_prefix}) AND (NOT CMAKE_VERSION VERSION_LESS "3.11.0"))
if(${_prefix}_FOUND AND NOT TARGET "${_target}") set_target_properties(PkgConfig::${_prefix} PROPERTIES IMPORTED_GLOBAL ON)
add_library("${_target}" INTERFACE IMPORTED) add_library(${_target} ALIAS PkgConfig::${_prefix})
target_link_libraries("${_target}" INTERFACE ${${_prefix}_LIBRARIES}) elseif(${_prefix}_FOUND)
target_include_directories("${_target}" INTERFACE ${${_prefix}_INCLUDE_DIRS}) 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()
endif() endif()

View file

@ -4,12 +4,17 @@ set(_prefix Udev)
set(_target "${_prefix}::libudev") set(_target "${_prefix}::libudev")
find_package(PkgConfig) find_package(PkgConfig)
if(PkgConfig_FOUND) if(PkgConfig_FOUND AND NOT TARGET ${_target})
pkg_check_modules("${_prefix}" libudev) pkg_check_modules("${_prefix}" libudev IMPORTED_TARGET)
if(${_prefix}_FOUND AND NOT TARGET "${_target}") if((TARGET PkgConfig::${_prefix}) AND (NOT CMAKE_VERSION VERSION_LESS "3.11.0"))
add_library("${_target}" INTERFACE IMPORTED) set_target_properties(PkgConfig::${_prefix} PROPERTIES IMPORTED_GLOBAL ON)
target_link_libraries("${_target}" INTERFACE ${${_prefix}_LIBRARIES}) add_library(${_target} ALIAS PkgConfig::${_prefix})
target_include_directories("${_target}" INTERFACE ${${_prefix}_INCLUDE_DIRS}) 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()
endif() endif()