diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-12-05 17:42:33 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-12-05 17:42:33 +0100 |
commit | 733ace5a7ad5b9e9f93ac87667d7d37fa5f894d5 (patch) | |
tree | a88031a8e1ac30986567070728e29ed1366d0962 /qmake/generators/makefile.cpp | |
parent | eaff48d3622bbb0e18e79f79aac6d1ac1b7e2760 (diff) | |
parent | 835b8213905b315645bc60ff5f2ab99340d075a2 (diff) |
Merge remote-tracking branch 'origin/release' into stable
Conflicts:
configure
mkspecs/macx-ios-clang/features/default_post.prf
tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
Diffstat (limited to 'qmake/generators/makefile.cpp')
-rw-r--r-- | qmake/generators/makefile.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index 3dd63b4590..946a1ee986 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -3336,6 +3336,13 @@ MakefileGenerator::writePkgConfigFile() t << endl; } +static QString windowsifyPath(const QString &str) +{ + // The paths are escaped in prl files, so every slash needs to turn into two backslashes. + // Then each backslash needs to be escaped for sed. And another level for C quoting here. + return QString(str).replace('/', "\\\\\\\\"); +} + QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const QString &src, const QString &dst) { QString ret; @@ -3348,8 +3355,12 @@ QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const QSt for (int r = 0; r < replace_rules.size(); ++r) { const ProString match = project->first(ProKey(replace_rules.at(r) + ".match")), replace = project->first(ProKey(replace_rules.at(r) + ".replace")); - if (!match.isEmpty() /*&& match != replace*/) + if (!match.isEmpty() /*&& match != replace*/) { ret += " -e " + shellQuote("s," + match + "," + replace + ",g"); + if (isWindowsShell() && project->first(ProKey(replace_rules.at(r) + ".CONFIG")).contains("path")) + ret += " -e " + shellQuote("s," + windowsifyPath(match.toQString()) + + "," + windowsifyPath(replace.toQString()) + ",gi"); + } } ret += " \"" + src + "\" >\"" + dst + "\""; } |