summaryrefslogtreecommitdiffstats
path: root/qmake/project.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qmake/project.cpp')
-rw-r--r--qmake/project.cpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/qmake/project.cpp b/qmake/project.cpp
index 998d1734b9..9cf6a6f3fc 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -671,6 +671,7 @@ QMakeProject::reset()
scope_blocks.push(ScopeBlock());
iterator = 0;
function = 0;
+ backslashWarned = false;
}
bool
@@ -1046,7 +1047,7 @@ QMakeProject::parse(const QString &t, QMap<QString, QStringList> &place, int num
SKIP_WS(d, d_off, s.length());
QString vals = s.mid(d_off); // vals now contains the space separated list of values
int rbraces = vals.count('}'), lbraces = vals.count('{');
- if(scope_blocks.count() > 1 && rbraces - lbraces == 1) {
+ if(scope_blocks.count() > 1 && rbraces - lbraces == 1 && vals.endsWith('}')) {
debug_msg(1, "Project Parser: %s:%d : Leaving block %d", parser.file.toLatin1().constData(),
parser.line_no, scope_blocks.count());
ScopeBlock sb = scope_blocks.pop();
@@ -1073,7 +1074,7 @@ QMakeProject::parse(const QString &t, QMap<QString, QStringList> &place, int num
}
if(vals.contains('=') && numLines > 1)
- warn_msg(WarnParser, "Detected possible line continuation: {%s} %s:%d",
+ warn_msg(WarnParser, "Possible accidental line continuation: {%s} at %s:%d",
var.toLatin1().constData(), parser.file.toLatin1().constData(), parser.line_no);
QStringList &varlist = place[var]; // varlist is the list in the symbol table
@@ -2933,6 +2934,11 @@ QMakeProject::doVariableReplaceExpand(const QString &str, QMap<QString, QStringL
break;
}
}
+ if(!escape && !backslashWarned) {
+ backslashWarned = true;
+ warn_msg(WarnDeprecated, "%s:%d: Unescaped backslashes are deprecated.",
+ parser.file.toLatin1().constData(), parser.line_no);
+ }
if(escape || !replaced)
unicode =0;
} else if(!quote && (unicode == SINGLEQUOTE || unicode == DOUBLEQUOTE)) {
@@ -3099,13 +3105,12 @@ QStringList &QMakeProject::values(const QString &_var, QMap<QString, QStringList
place[var] = QStringList(Option::obj_ext);
}
} else if (var == QLatin1String("QMAKE_QMAKE")) {
- if (place[var].isEmpty()) {
- if (!Option::qmake_abslocation.isNull())
- place[var] = QStringList(Option::qmake_abslocation);
- else
- place[var] = QStringList(Option::fixPathToTargetOS(
- QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmake", false));
- }
+ if (place[var].isEmpty())
+ place[var] = QStringList(Option::fixPathToTargetOS(
+ !Option::qmake_abslocation.isEmpty()
+ ? Option::qmake_abslocation
+ : QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmake",
+ false));
} else if (var == QLatin1String("EPOCROOT")) {
if (place[var].isEmpty())
place[var] = QStringList(epocRoot());