summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/winmakefile.h
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2018-06-08 21:18:11 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2018-06-25 13:35:20 +0000
commit7c34e0a7b48572be1f9e3fb45911a13b01798e37 (patch)
treedf66f4c8e7c7c3e924c20a5582343a44e15ea105 /qmake/generators/win32/winmakefile.h
parent8e075dac8f08039957fc89d48042c8810d6ae63b (diff)
qmake: escape colons and hashmarks in dependency paths
these characters can appear in file names, but are meta characters in dependency context. they have different semantics in make commands, so this required some reshuffling in the windows generator (which just treated dependencies and commands the same way). we don't actually escape colons for nmake, because it has magic treatment of drive letters anyway (and colons cannot appear elsewhere). also, if a target's filename gets quoted, batch rules will blow up. therefore, "funny" file names are really only supported as inputs - which is just enough to make resource embedding work. Task-number: QTBUG-22863 Task-number: QTBUG-68635 Change-Id: I473b0bf47d045298fd2ae481a29de603a3c1be30 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'qmake/generators/win32/winmakefile.h')
-rw-r--r--qmake/generators/win32/winmakefile.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/qmake/generators/win32/winmakefile.h b/qmake/generators/win32/winmakefile.h
index 4d5ee9812b..b85a6b67df 100644
--- a/qmake/generators/win32/winmakefile.h
+++ b/qmake/generators/win32/winmakefile.h
@@ -47,8 +47,10 @@ protected:
virtual void writeObjectsPart(QTextStream &t);
virtual void writeImplicitRulesPart(QTextStream &t);
virtual void writeBuildRulesPart(QTextStream &);
+ using MakefileGenerator::escapeFilePath;
virtual QString escapeFilePath(const QString &path) const;
- ProString escapeFilePath(const ProString &path) const { return MakefileGenerator::escapeFilePath(path); }
+ using MakefileGenerator::escapeDependencyPath;
+ virtual QString escapeDependencyPath(const QString &path) const;
virtual void writeRcFilePart(QTextStream &t);