diff options
-rw-r--r-- | src/libs/installer/qtpatchoperation.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/libs/installer/qtpatchoperation.cpp b/src/libs/installer/qtpatchoperation.cpp index e9fbb65c5..e47baba77 100644 --- a/src/libs/installer/qtpatchoperation.cpp +++ b/src/libs/installer/qtpatchoperation.cpp @@ -57,7 +57,7 @@ using namespace QInstaller; static QHash<QByteArray, QByteArray> generatePatchValueHash(const QByteArray &newQtPath, - const QHash<QString, QByteArray> &qmakeValueHash) + const QHash<QString, QByteArray> &qmakeValueHash, const QString &type) { QHash<QByteArray, QByteArray> replaceHash; //first == searchstring: second == replace string char nativeSeperator = QDir::separator().toLatin1(); @@ -84,8 +84,15 @@ static QHash<QByteArray, QByteArray> generatePatchValueHash(const QByteArray &ne QByteArray("qt_libspath=%1/lib").replace("%1/", newQtPath + nativeSeperator)); oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_LIBEXECS")); - replaceHash.insert(QByteArray("qt_lbexpath=%1").replace("%1", oldValue), - QByteArray("qt_lbexpath=%1/libexec").replace("%1/", newQtPath + nativeSeperator)); + if (type == QLatin1String("windows")) { + replaceHash.insert(QByteArray("qt_lbexpath=%1").replace("%1", oldValue), + QByteArray("qt_lbexpath=%1/bin").replace("%1/", + newQtPath + nativeSeperator)); + } else { + replaceHash.insert(QByteArray("qt_lbexpath=%1").replace("%1", oldValue), + QByteArray("qt_lbexpath=%1/libexec").replace("%1/", + newQtPath + nativeSeperator)); + } oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_BINS")); replaceHash.insert(QByteArray("qt_binspath=%1").replace("%1", oldValue), @@ -405,7 +412,7 @@ bool QtPatchOperation::performOperation() prefix += QLatin1Char('/'); //BEGIN - patch binary files - QHash<QByteArray, QByteArray> patchValueHash = generatePatchValueHash(newQtPath, qmakeValueHash); + QHash<QByteArray, QByteArray> patchValueHash = generatePatchValueHash(newQtPath, qmakeValueHash, type); foreach (QString fileName, filesToPatch) { fileName.prepend(prefix); |