From 733972193d94d749ac2ff6d76630797e015fe9b9 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 16 Aug 2021 14:44:19 +0200 Subject: [PATCH] QtSupport: Fix Qt version detection Amends 84befc2 which was too strict. Fixes: QTCREATORBUG-26123 Change-Id: I3767ba0fb4723c77cfb0e8b1932ff6adfc8e9ac2 Reviewed-by: David Schulz --- src/plugins/qtsupport/baseqtversion.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 568d3d70d7e..9a3ffd4badc 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -1833,11 +1833,12 @@ bool BaseQtVersionPrivate::queryQMakeVariables(const FilePath &binary, const Env QByteArray output; output = runQmakeQuery(binary, env, error); - if (!output.startsWith('Q')) { // Is it always "QT_SYSROOT="? + if (!output.contains("QMAKE_VERSION:")) { // Some setups pass error messages via stdout, fooling the logic below. // Example with docker/qemu/arm "OCI runtime exec failed: exec failed: container_linux.go:367: // starting container process caused: exec: "/bin/qmake": stat /bin/qmake: no such file or directory" // Since we have a rough idea on what the output looks like we can work around this. + // Output does not always start with QT_SYSROOT, see QTCREATORBUG-26123. *error = QString::fromUtf8(output); return false; }