aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2024-02-15 15:01:16 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2024-02-27 17:13:15 +0000
commit6e5c72824af64fbcd133b28b9a76a7eaee4e3468 (patch)
treecaa2d02cba22906a0dff7f21d0e745eb361ed5a0 /src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
parent903d01b93459d0f1ee70e6ca74a8c01af5e0981b (diff)
QmakeProjectManager: Fix Makefile compatibility checkv13.0.0-beta2
E.g. qmake "binaries" for Android are actually shell scripts that call a Desktop qmake in a different location, which lead Qt Creator to conclude that the directory contains an incompatible build. Fix this by checking that the -qtconf argument passed to qmake points into the real qmake's parent directory, as is the case in the abovementioned scenario. Fixes: QTCREATORBUG-30354 Change-Id: Id6e878fab3379a3a8893389447514a1b7226784c Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp')
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
index 798eae306f..f3a71728d0 100644
--- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
@@ -490,7 +490,9 @@ QmakeBuildConfiguration::MakefileState QmakeBuildConfiguration::compareToImportF
return MakefileIncompatible;
}
- if (version->qmakeFilePath() != parse.qmakePath()) {
+ if (version->qmakeFilePath() != parse.qmakePath()
+ && (parse.qtConfPath().isEmpty() // QTCREATORBUG-30354
+ || version->qmakeFilePath().parentDir() != parse.qtConfPath().parentDir())) {
qCDebug(logs) << "**Different Qt versions, buildconfiguration:" << version->qmakeFilePath()
<< " Makefile:" << parse.qmakePath();
return MakefileForWrongProject;