summaryrefslogtreecommitdiffstats
path: root/cmake/QtInterfaceFrameworkSetup.cmake
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@qt.io>2023-12-20 14:25:54 +0100
committerDominik Holland <dominik.holland@qt.io>2023-12-21 13:00:37 +0100
commitddfc84ca39bb3e61731221e88e764bcc02a9997d (patch)
tree971c70bebfba0df5db59a58c54f5c69462c2381c /cmake/QtInterfaceFrameworkSetup.cmake
parentc2554841ee03f581c5b7be29e2b55ceff3fa95cc (diff)
Fix python3 package detection to also work with older python versions
The fix for python 3.11 doesn't work with python versions before 3.8 Pick-to: 6.7 6.6 6.5 Change-Id: Ibc4ea2e4da374110eeffb769c716084c1bdeb828 Reviewed-by: Robert Griebl <robert.griebl@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'cmake/QtInterfaceFrameworkSetup.cmake')
-rw-r--r--cmake/QtInterfaceFrameworkSetup.cmake18
1 files changed, 13 insertions, 5 deletions
diff --git a/cmake/QtInterfaceFrameworkSetup.cmake b/cmake/QtInterfaceFrameworkSetup.cmake
index 74709c5b..38d88c65 100644
--- a/cmake/QtInterfaceFrameworkSetup.cmake
+++ b/cmake/QtInterfaceFrameworkSetup.cmake
@@ -12,11 +12,19 @@ function(qt_config_python3_package_test name)
message(STATUS "Performing Test ${arg_LABEL}")
- execute_process(COMMAND ${Python3_EXECUTABLE} "-c" "from importlib.metadata import version; print(version(\"${arg_PACKAGE}\"))"
- RESULT_VARIABLE ${name}_RESULT
- OUTPUT_VARIABLE ${name}_VERSION
- ERROR_QUIET
- )
+ if (Python3_VERSION VERSION_LESS "3.8")
+ execute_process(COMMAND ${Python3_EXECUTABLE} "-c" "import pkg_resources; print(pkg_resources.get_distribution(\"${arg_PACKAGE}\").version)"
+ RESULT_VARIABLE ${name}_RESULT
+ OUTPUT_VARIABLE ${name}_VERSION
+ ERROR_QUIET
+ )
+ else()
+ execute_process(COMMAND ${Python3_EXECUTABLE} "-c" "import importlib.metadata; print(importlib.metadata.version(\"${arg_PACKAGE}\"))"
+ RESULT_VARIABLE ${name}_RESULT
+ OUTPUT_VARIABLE ${name}_VERSION
+ ERROR_QUIET
+ )
+ endif()
set(HAVE_${name} FALSE)
set(status_label "Failed")