aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/gz-cmake/pkg-check-modules.diff
blob: 72490741c3393bdb66d04ad56991e8b18c449cbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
diff --git a/cmake/GzPkgConfig.cmake b/cmake/GzPkgConfig.cmake
index 5fcdb76..9ff169c 100644
--- a/cmake/GzPkgConfig.cmake
+++ b/cmake/GzPkgConfig.cmake
@@ -105,6 +105,7 @@ macro(gz_pkg_check_modules_quiet package signature)
     unset(${package}_LIBRARIES)
 
     pkg_check_modules(${package}
+                      IMPORTED_TARGET
                       ${gz_pkg_check_modules_quiet_arg}
                       ${gz_pkg_check_modules_no_cmake_environment_path_arg}
                       ${signature})
@@ -155,15 +156,13 @@ macro(gz_pkg_check_modules_quiet package signature)
       #
       # TODO: How would we deal with multiple modules that are in different
       # directories? How does cmake-3.6+ handle that situation?
-      _gz_pkgconfig_find_libraries(
-        ${package}_LIBRARIES
-        ${package}
-        "${${package}_LIBRARIES}"
-        "${${package}_LIBRARY_DIRS}")
-
-      include(GzImportTarget)
-      gz_import_target(${package} ${_gz_pkg_check_modules_interface_option}
-        TARGET_NAME ${gz_pkg_check_modules_TARGET_NAME})
+
+      if(NOT TARGET ${gz_pkg_check_modules_TARGET_NAME})
+        add_library(${gz_pkg_check_modules_TARGET_NAME} INTERFACE IMPORTED)
+        set_target_properties(${gz_pkg_check_modules_TARGET_NAME} PROPERTIES
+          INTERFACE_LINK_LIBRARIES PkgConfig::${package}
+        )
+      endif()
 
     endif()