Browse Source

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
Paul Zander 2 years ago
parent
commit
d47771bbb9
1 changed files with 2 additions and 2 deletions
  1. 2 2
      Modules/FindPkgConfig.cmake

+ 2 - 2
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}")