summaryrefslogtreecommitdiffstats
path: root/qmake/generators/makefile.h
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-04-13 21:18:36 +0200
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-04-21 12:06:20 +0000
commit4c96367410500c1b373a78cc3b5c6e07e8c998a5 (patch)
treedd85decb58aa3c69f606e040c3d7a3bb5d0ab025 /qmake/generators/makefile.h
parent6234dec41f48383ea3fe848fa2b3f1de64e426ba (diff)
make fileFixify() calling convention somewhat sane
instead of allowing arbitrary input and output base paths, restrict them to the project input and output dirs (in any permutation), which are the only cases ever used anyway. this permits much clearer call sites, and allows later optimizations. Change-Id: I48d149a4417af5c858e66ec57c476a5bc6b17f17 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'qmake/generators/makefile.h')
-rw-r--r--qmake/generators/makefile.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
index d57fdbaca3..07483dbcb0 100644
--- a/qmake/generators/makefile.h
+++ b/qmake/generators/makefile.h
@@ -224,16 +224,22 @@ protected:
ProStringList fixLibFlags(const ProKey &var);
virtual ProString fixLibFlag(const ProString &lib);
+public:
//file fixification to unify all file names into a single pattern
- enum FileFixifyType { FileFixifyAbsolute, FileFixifyRelative, FileFixifyDefault };
- QString fileFixify(const QString& file, const QString &out_dir=QString(),
- const QString &in_dir=QString(), FileFixifyType fix=FileFixifyDefault, bool canon=true) const;
- inline QString fileFixify(const QString& file, FileFixifyType fix, bool canon=true) const
- { return fileFixify(file, QString(), QString(), fix, canon); }
- QStringList fileFixify(const QStringList& files, const QString &out_dir=QString(),
- const QString &in_dir=QString(), FileFixifyType fix=FileFixifyDefault, bool canon=true) const;
- inline QStringList fileFixify(const QStringList& files, FileFixifyType fix, bool canon=true) const
- { return fileFixify(files, QString(), QString(), fix, canon); }
+ enum FileFixifyType {
+ FileFixifyFromIndir = 0,
+ FileFixifyFromOutdir = 1,
+ FileFixifyToOutDir = 0,
+ FileFixifyToIndir = 2,
+ FileFixifyBackwards = FileFixifyFromOutdir | FileFixifyToIndir,
+ FileFixifyDefault = 0,
+ FileFixifyAbsolute = 4,
+ FileFixifyRelative = 8
+ };
+ Q_DECLARE_FLAGS(FileFixifyTypes, FileFixifyType)
+protected:
+ QString fileFixify(const QString &file, FileFixifyTypes fix = FileFixifyDefault, bool canon = true) const;
+ QStringList fileFixify(const QStringList &files, FileFixifyTypes fix = FileFixifyDefault, bool canon = true) const;
QString installMetaFile(const ProKey &replace_rule, const QString &src, const QString &dst);
@@ -259,6 +265,7 @@ public:
bool isWindowsShell() const { return Option::dir_sep == QLatin1String("\\"); }
QString shellQuote(const QString &str);
};
+Q_DECLARE_OPERATORS_FOR_FLAGS(MakefileGenerator::FileFixifyTypes)
inline void MakefileGenerator::setNoIO(bool o)
{ no_io = o; }