From 6f14205e0885853184d482f901d62fa5c10ac4f9 Mon Sep 17 00:00:00 2001 From: Adam Badura Date: Wed, 5 May 2021 07:17:27 +0200 Subject: FindPkgConfig: Always create the imported target Fixes: #22180 --- Modules/FindPkgConfig.cmake | 4 +--- Tests/RunCMake/FindPkgConfig/FindPkgConfig_empty_target.cmake | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake index 38c8da7..3bc9dba 100644 --- a/Modules/FindPkgConfig.cmake +++ b/Modules/FindPkgConfig.cmake @@ -265,9 +265,7 @@ endfunction() # create an imported target from all the information returned by pkg-config function(_pkg_create_imp_target _prefix _imp_target_global) - # only create the target if it is linkable, i.e. no executables - if (NOT TARGET PkgConfig::${_prefix} - AND ( ${_prefix}_INCLUDE_DIRS OR ${_prefix}_LINK_LIBRARIES OR ${_prefix}_LDFLAGS_OTHER OR ${_prefix}_CFLAGS_OTHER )) + if (NOT TARGET PkgConfig::${_prefix}) if(${_imp_target_global}) set(_global_opt "GLOBAL") else() diff --git a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_empty_target.cmake b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_empty_target.cmake index fd774b9..cb3dd69 100644 --- a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_empty_target.cmake +++ b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_empty_target.cmake @@ -11,3 +11,7 @@ pkg_search_module(Empty REQUIRED empty IMPORTED_TARGET) if(NOT Empty_MODULE_NAME STREQUAL "empty") message(FATAL_ERROR "Wrong value for Empty_MODULE_NAME. Expected: empty, got: ${Empty_MODULE_NAME}") endif() + +if(NOT TARGET PkgConfig::Empty) + message(FATAL_ERROR "PkgConfig::Empty target not created") +endif() -- cgit v0.12