summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Badura <adam.badura@nokia.com>2021-05-05 07:17:27 +0200
committerBrad King <brad.king@kitware.com>2021-06-04 08:33:27 -0400
commit6f14205e0885853184d482f901d62fa5c10ac4f9 (patch)
tree39e9ec271c6387a8bb617bc709d41fed9fd29b38
parent07d639072800dcd189a9c461c4d1e0c04807e18f (diff)
downloadcmake-6f14205e0885853184d482f901d62fa5c10ac4f9.tar.gz
FindPkgConfig: Always create the imported target
Fixes: #22180
-rw-r--r--Modules/FindPkgConfig.cmake4
-rw-r--r--Tests/RunCMake/FindPkgConfig/FindPkgConfig_empty_target.cmake4
2 files changed, 5 insertions, 3 deletions
diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake
index 38c8da7548..3bc9dba167 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 fd774b9d65..cb3dd69af5 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()