summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Zander <negril.nx@gmail.com>2023-09-09 11:45:19 (GMT)
committerPaul Zander <negril.nx@gmail.com>2023-09-09 11:49:19 (GMT)
commitd47771bbb96a8435401950fb504b06003ec0babb (patch)
treeb17a7caecf91b276ab1b85402bb95414c9ebcd6e
parentb94a16b5679da3e5c4ec60deda6cebf9d7b161ba (diff)
downloadCMake-d47771bbb96a8435401950fb504b06003ec0babb.zip
CMake-d47771bbb96a8435401950fb504b06003ec0babb.tar.gz
CMake-d47771bbb96a8435401950fb504b06003ec0babb.tar.bz2
FindPkgConfig: ignore whitespace separators in version check
The regex used to split up the version if it contains an operator fails if the string contains whitespaces. Resulting in an extra whitespace after the package name and before the package version leading to breakage in pkgconf and thus webkit-gtk. See: https://github.com/pkgconf/pkgconf/issues/317 https://bugs.webkit.org/show_bug.cgi?id=261125 https://bugs.gentoo.org/913644
-rw-r--r--Modules/FindPkgConfig.cmake4
1 files changed, 2 insertions, 2 deletions
diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake
index 4d29f45..6e8b784 100644
--- a/Modules/FindPkgConfig.cmake
+++ b/Modules/FindPkgConfig.cmake
@@ -563,8 +563,8 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
set(_pkg_check_modules_exist_query)
- # check whether version is given
- if (_pkg_check_modules_pkg MATCHES "(.*[^><])(=|[><]=?)(.*)")
+ # check whether version is given while ignoring whitespace
+ if (_pkg_check_modules_pkg MATCHES "(.*[^>< \t])[ \t]*(=|[><]=?)[ \t]*(.*)")
set(_pkg_check_modules_pkg_name "${CMAKE_MATCH_1}")
set(_pkg_check_modules_pkg_op "${CMAKE_MATCH_2}")
set(_pkg_check_modules_pkg_ver "${CMAKE_MATCH_3}")