summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorChristophe Giboudeaux <christophe@krop.fr>2019-08-27 22:52:13 (GMT)
committerChristophe Giboudeaux <christophe@krop.fr>2019-08-29 19:50:49 (GMT)
commitfe683876952ee6172e46fe770b4f3e48c69646d1 (patch)
tree54ed9a4a123e207c6712d5b32880f854e75ac8a8 /Modules
parent843ab7544e319597306a6d9cea4ab8be3296e6c4 (diff)
downloadCMake-fe683876952ee6172e46fe770b4f3e48c69646d1.zip
CMake-fe683876952ee6172e46fe770b4f3e48c69646d1.tar.gz
CMake-fe683876952ee6172e46fe770b4f3e48c69646d1.tar.bz2
FindPkgConfig: return the module found by pkg_search_module
When running `pkg_search_module`, it may be useful to get the matching module name in order to run `pkg_get_variable`. `pkg_search_module` now defines `<prefix>_MODULE_NAME` which contains the first matching module name. Fixes: #19648
Diffstat (limited to 'Modules')
-rw-r--r--Modules/FindPkgConfig.cmake7
1 files changed, 7 insertions, 0 deletions
diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake
index e05d5c8..4c9af91 100644
--- a/Modules/FindPkgConfig.cmake
+++ b/Modules/FindPkgConfig.cmake
@@ -363,6 +363,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
_pkgconfig_unset(${_prefix}_PREFIX)
_pkgconfig_unset(${_prefix}_INCLUDEDIR)
_pkgconfig_unset(${_prefix}_LIBDIR)
+ _pkgconfig_unset(${_prefix}_MODULE_NAME)
_pkgconfig_unset(${_prefix}_LIBS)
_pkgconfig_unset(${_prefix}_LIBS_L)
_pkgconfig_unset(${_prefix}_LIBS_PATHS)
@@ -480,6 +481,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR)
_pkgconfig_set("${_pkg_check_prefix}_${variable}" "${${_pkg_check_prefix}_${variable}}")
endforeach ()
+ _pkgconfig_set("${_pkg_check_prefix}_MODULE_NAME" "${_pkg_check_modules_pkg}")
if (NOT ${_is_silent})
message(STATUS " Found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
@@ -664,6 +666,10 @@ endmacro()
[IMPORTED_TARGET [GLOBAL]]
<moduleSpec> [<moduleSpec>...])
+ If a module is found, the ``<prefix>_MODULE_NAME`` variable will contain the
+ name of the matching module. This variable can be used if you need to run
+ :command:`pkg_get_variable`.
+
Example:
.. code-block:: cmake
@@ -688,6 +694,7 @@ macro(pkg_search_module _prefix _module0)
if (${_prefix}_FOUND)
set(_pkg_modules_found 1)
+ break()
endif()
endforeach()