diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2019-02-15 10:59:14 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2019-02-18 08:48:32 +0000 |
commit | 695c4c4749ad89cd42ad631dbf47a82abca25338 (patch) | |
tree | 9e879f23576969637356371352c29b87dff6c27c | |
parent | d83c9c1dff9f07e9556b6e649b8017f96e2848dc (diff) |
Qt provider: Make sure not to invoke qtchooser directly
In some Linux distributions, qmake is a soft link to qtchooser, which
only behaves like qmake if invoked via that name.
Change-Id: I6705a81f6a4dfdda5fd3f1e16a63318a4b772084
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r-- | share/qbs/module-providers/Qt/setup-qt.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/share/qbs/module-providers/Qt/setup-qt.js b/share/qbs/module-providers/Qt/setup-qt.js index 030c3286b..236b4dea4 100644 --- a/share/qbs/module-providers/Qt/setup-qt.js +++ b/share/qbs/module-providers/Qt/setup-qt.js @@ -59,8 +59,13 @@ function getQmakeFilePaths(qmakeFilePaths, qbs) { var suffix = exeSuffix(qbs); var filePaths = []; for (var i = 0; i < dirs.length; ++i) { - var candidate = FileInfo.canonicalPath(FileInfo.joinPaths(dirs[i], "qmake" + suffix)); - if (candidate && File.exists(candidate) && !filePaths.contains(candidate)) { + var candidate = FileInfo.joinPaths(dirs[i], "qmake" + suffix); + var canonicalCandidate = FileInfo.canonicalPath(candidate); + if (!canonicalCandidate || !File.exists(canonicalCandidate)) + continue; + if (FileInfo.completeBaseName(canonicalCandidate) !== "qtchooser") + candidate = canonicalCandidate; + if (!filePaths.contains(candidate)) { console.info("Found Qt at '" + toNative(candidate) + "'."); filePaths.push(candidate); } |