mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-03 12:49:50 -05:00
FindPkgConfig: optionally create imported target for the found libraries
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
project(FindPkgConfig_IMPORTED_TARGET C)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(NCURSES IMPORTED_TARGET QUIET ncurses)
|
||||
|
||||
if (NCURSES_FOUND)
|
||||
set(tgt PkgConfig::NCURSES)
|
||||
if (NOT TARGET ${tgt})
|
||||
message(FATAL_ERROR "FindPkgConfig found ncurses, but did not create an imported target for it")
|
||||
endif ()
|
||||
set(prop_found FALSE)
|
||||
foreach (prop IN ITEMS INTERFACE_INCLUDE_DIRECTORIES INTERFACE_LINK_LIBRARIES INTERFACE_COMPILE_OPTIONS)
|
||||
get_target_property(value ${tgt} ${prop})
|
||||
if (value)
|
||||
message(STATUS "Found property ${prop} on target: ${value}")
|
||||
set(prop_found TRUE)
|
||||
endif ()
|
||||
endforeach ()
|
||||
if (NOT prop_found)
|
||||
message(FATAL_ERROR "target ${tgt} found, but it has no properties")
|
||||
endif ()
|
||||
else ()
|
||||
message(STATUS "skipping test; ncurses not found")
|
||||
endif ()
|
||||
@@ -15,4 +15,5 @@ find_package(PkgConfig)
|
||||
if (PKG_CONFIG_FOUND)
|
||||
run_cmake(FindPkgConfig_GET_VARIABLE)
|
||||
run_cmake(FindPkgConfig_cache_variables)
|
||||
run_cmake(FindPkgConfig_IMPORTED_TARGET)
|
||||
endif ()
|
||||
|
||||
Reference in New Issue
Block a user