From 6f14205e0885853184d482f901d62fa5c10ac4f9 Mon Sep 17 00:00:00 2001
From: Adam Badura <adam.badura@nokia.com>
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