From 782af2b796f1c9dd2e102ff685fec6317fb55345 Mon Sep 17 00:00:00 2001 From: Funda Wang Date: Thu, 20 Mar 2025 16:05:02 +0800 Subject: [PATCH] correctly produce cmake provides for qt6 packages --- cmake.prov | 14 +++++++++++--- cmake.spec | 5 ++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/cmake.prov b/cmake.prov index 58d3522..cc3a1ad 100644 --- a/cmake.prov +++ b/cmake.prov @@ -62,11 +62,16 @@ class CMakeParser: return (None, None, False) def resolveCMakeModuleVersion(self, modulePath, cmakeModule, lowercase): - versionFile = ("%s/%s-config-version.cmake" if lowercase else "%s/%sConfigVersion.cmake") % (modulePath, cmakeModule) + # Qt >= 6.2.2 defines 'PACKAGE_VERSION' in *ConfigVersionImpl.cmake + versionFile = f"{modulePath}/{cmakeModule}ConfigVersionImpl.cmake" if "Qt6" in f"{cmakeModule}" else "" try: f = open(versionFile, 'r') except: - return None + versionFile = ("%s/%s-config-version.cmake" if lowercase else "%s/%sConfigVersion.cmake") % (modulePath, cmakeModule) + try: + f = open(versionFile, 'r') + except: + return None for line in f: line = line.strip() @@ -74,7 +79,10 @@ class CMakeParser: # set(PACKAGE_VERSION ) version = re.match(r"^set[\ ]*\([\ ]*PACKAGE_VERSION[\ ]+[\"]*([0-9\.]+)[\"]*[\ ]*[.]*\)", line) if version: - return version.groups(1)[0] + _version = version.groups(1)[0] + if _version == '..': + sys.stderr.write("error: Version pattern found without values - '%s' was created incorrectly\n" % versionFile) + return _version return None diff --git a/cmake.spec b/cmake.spec index 500ce30..6ed93b9 100644 --- a/cmake.spec +++ b/cmake.spec @@ -21,7 +21,7 @@ Name: cmake Version: 3.27.9 %global major_version %(echo %{version} | awk -F. '{print $1}') -Release: 10 +Release: 11 Summary: Cross-platform make system License: BSD-3-Clause AND MIT-open-group AND Zlib URL: http://www.cmake.org @@ -308,6 +308,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %exclude %{_pkgdocdir}/Copyright.txt %changelog +* Thu Mar 20 2025 Funda Wang - 3.27.9-11 +- correctly produce cmake provides for qt6 packages + * Sun Jan 26 2025 fuanan - 3.27.9-10 - No longer support aarch64_ilp32 compilation -- Gitee