summaryrefslogtreecommitdiffstats
path: root/qmake/generators/makefile.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-11-20 13:53:04 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-23 19:58:11 +0100
commitef510adea5995e7cacee2697b389c48bd9b19f70 (patch)
tree627251918a83ebb215de3b5557e5fe66321d13af /qmake/generators/makefile.cpp
parent56493268f71051bda4fd5b23e5af5ef6848f63c9 (diff)
adequately shell-escape generated sed commands
Change-Id: I39c8c4ab3da69bd21beace56f5cf3070301ac015 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'qmake/generators/makefile.cpp')
-rw-r--r--qmake/generators/makefile.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index f628ca7ac4..d88c6e447a 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -43,6 +43,9 @@
#include "option.h"
#include "cachekeys.h"
#include "meta.h"
+
+#include <ioutils.h>
+
#include <qdir.h>
#include <qfile.h>
#include <qtextstream.h>
@@ -52,6 +55,7 @@
#include <qbuffer.h>
#include <qsettings.h>
#include <qdatetime.h>
+
#if defined(Q_OS_UNIX)
#include <unistd.h>
#else
@@ -3345,11 +3349,17 @@ QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const QSt
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*/)
- ret += " -e \"s," + match + "," + replace + ",g\"";
+ ret += " -e " + shellQuote("s," + match + "," + replace + ",g");
}
ret += " \"" + src + "\" >\"" + dst + "\"";
}
return ret;
}
+QString MakefileGenerator::shellQuote(const QString &str)
+{
+ return isWindowsShell() ? QMakeInternal::IoUtils::shellQuoteWin(str)
+ : QMakeInternal::IoUtils::shellQuoteUnix(str);
+}
+
QT_END_NAMESPACE