summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorThomas Zander <t.zander@nokia.com>2010-01-19 18:09:14 (GMT)
committerThomas Zander <t.zander@nokia.com>2010-01-20 09:52:44 (GMT)
commitbaf0f7a203281e3e1184cdfe327fb1dfa6df03ea (patch)
treec2186d56a57f89985b2d0750d57c83b0036fda3b /qmake
parentd7de938ee18192fbf83bb2b08519dd4ed50f04fa (diff)
downloadQt-baf0f7a203281e3e1184cdfe327fb1dfa6df03ea.zip
Qt-baf0f7a203281e3e1184cdfe327fb1dfa6df03ea.tar.gz
Qt-baf0f7a203281e3e1184cdfe327fb1dfa6df03ea.tar.bz2
Add command to qmake to do symbian-uid generation
The UID3 as required by symbian has to be auto-generated when the user doesn't supply one. To allow this to be done in a mkspec we need a function to do the hashing. This method adds that. Reviewed-By: Marius Storm-Olsen
Diffstat (limited to 'qmake')
-rw-r--r--qmake/project.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/qmake/project.cpp b/qmake/project.cpp
index 2ad6112..c2e033e 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -79,7 +79,7 @@ enum ExpandFunc { E_MEMBER=1, E_FIRST, E_LAST, E_CAT, E_FROMFILE, E_EVAL, E_LIST
E_SPRINTF, E_JOIN, E_SPLIT, E_BASENAME, E_DIRNAME, E_SECTION,
E_FIND, E_SYSTEM, E_UNIQUE, E_QUOTE, E_ESCAPE_EXPAND,
E_UPPER, E_LOWER, E_FILES, E_PROMPT, E_RE_ESCAPE, E_REPLACE,
- E_SIZE };
+ E_SIZE, E_GENERATE_UID };
QMap<QString, ExpandFunc> qmake_expandFunctions()
{
static QMap<QString, ExpandFunc> *qmake_expand_functions = 0;
@@ -111,6 +111,7 @@ QMap<QString, ExpandFunc> qmake_expandFunctions()
qmake_expand_functions->insert("prompt", E_PROMPT);
qmake_expand_functions->insert("replace", E_REPLACE);
qmake_expand_functions->insert("size", E_SIZE);
+ qmake_expand_functions->insert("generate_uid", E_GENERATE_UID);
}
return *qmake_expand_functions;
}
@@ -1864,6 +1865,9 @@ QMakeProject::doProjectExpand(QString func, QStringList args,
return doProjectExpand(func, args_list, place);
}
+// defined in symbian generator
+extern QString generate_test_uid(const QString& target);
+
QStringList
QMakeProject::doProjectExpand(QString func, QList<QStringList> args_list,
QMap<QString, QStringList> &place)
@@ -2301,6 +2305,14 @@ QMakeProject::doProjectExpand(QString func, QList<QStringList> args_list,
ret += QString::number(size);
}
break; }
+ case E_GENERATE_UID:
+ if (args.count() != 1) {
+ fprintf(stderr, "%s:%d: generate_uid(var) requires one argument.\n",
+ parser.file.toLatin1().constData(), parser.line_no);
+ } else {
+ ret += generate_test_uid(args.first());
+ }
+ break;
default: {
fprintf(stderr, "%s:%d: Unknown replace function: %s\n",
parser.file.toLatin1().constData(), parser.line_no,