summaryrefslogtreecommitdiffstats
path: root/configure.pri
diff options
context:
space:
mode:
Diffstat (limited to 'configure.pri')
-rw-r--r--configure.pri41
1 files changed, 41 insertions, 0 deletions
diff --git a/configure.pri b/configure.pri
index 23f31686e..ce36642bb 100644
--- a/configure.pri
+++ b/configure.pri
@@ -1,5 +1,46 @@
equals(QMAKE_HOST.os, Windows): EXE_SUFFIX = .exe
+defineTest(isPythonVersionSupported) {
+ python = $$system_quote($$system_path($$1))
+ python_version = $$system('$$python -c "import sys; print(sys.version_info[0:3])"')
+ python_version ~= s/[()]//g
+ python_version = $$split(python_version, ',')
+ python_major_version = $$first(python_version)
+ greaterThan(python_major_version, 2) {
+ qtLog("Python version 3 is not supported by Chromium.")
+ return(false)
+ }
+ python_minor_version = $$member(python_version, 1)
+ python_patch_version = $$member(python_version, 2)
+ greaterThan(python_major_version, 1): greaterThan(python_minor_version, 6): greaterThan(python_patch_version, 4): return(true)
+ qtLog("Unsupported python version: $${python_major_version}.$${python_minor_version}.$${python_patch_version}.")
+ return(false)
+}
+
+defineTest(qtConfTest_detectPython2) {
+ python = $$qtConfFindInPath("python2")
+ isEmpty(python) {
+ qtLog("'python2' not found in PATH. Checking for 'python'.")
+ python = $$qtConfFindInPath("python$$EXE_SUFFIX")
+ }
+ isEmpty(python) {
+ qtLog("'python$$EXE_SUFFIX' not found in PATH. Giving up.")
+ return(false)
+ }
+ !isPythonVersionSupported($$python) {
+ qtLog("A suitable Python 2 executable could not be located.")
+ return(false)
+ }
+
+ # Make tests.python2.location available in configure.json.
+ $${1}.location = $$clean_path($$python)
+ export($${1}.location)
+ $${1}.cache += location
+ export($${1}.cache)
+
+ return(true)
+}
+
defineTest(qtConfTest_detectNinja) {
ninja = $$qtConfFindInPath("ninja$$EXE_SUFFIX")
!isEmpty(ninja) {