diff -r 3b1da2848fc7 -r d3bac044e0f0 qmake/generators/symbian/symmake_abld.cpp --- a/qmake/generators/symbian/symmake_abld.cpp Fri Feb 19 23:40:16 2010 +0200 +++ b/qmake/generators/symbian/symmake_abld.cpp Fri Mar 12 15:46:37 2010 +0200 @@ -155,39 +155,79 @@ t << "endif" << endl << endl; t << "CLEANLIB: " DO_NOTHING_TARGET << endl << endl; - QStringList qmFileNames; - QString translationFilename = project->first("TRANSLATIONS"); - if (!project->values("SYMBIANTRANSLATIONS").isEmpty() && !translationFilename.isEmpty()) { - QStringList symbianTranslations = project->values("SYMBIANTRANSLATIONS"); - QString symbianTrPath = project->first("SYMBIANTRANSLATIONDIR"); - t << "RESOURCE: create_qm" << endl << endl; - t << "create_qm : " << endl; - foreach (const QString &symbianTrans, symbianTranslations) { - QString translationTsFilename(translationFilename); - translationTsFilename.chop(3); - translationTsFilename.insert(0,symbianTrPath); - translationTsFilename.append(QString::fromLatin1("_")); - translationTsFilename.append(symbianTrans); - QString translationQmFilename(translationTsFilename); - translationTsFilename.append(QString::fromLatin1(".ts")); - translationQmFilename.append(QString::fromLatin1(".qm")); - t << "\t$(EPOCROOT)epoc32\\tools\\qt\\lrelease -silent -idbased " << translationTsFilename << " -qm " << translationQmFilename << endl; - // qmFileNames are needed in RELEASABLES: part - qmFileNames.append(translationQmFilename); + QStringList trFileNames; + if (!project->values("SYMBIANTRANSLATIONS").isEmpty()) { + QString translationFilename = project->first("TRANSLATIONS"); + if (!translationFilename.isEmpty()) { + QStringList symbianTranslations = project->values("SYMBIANTRANSLATIONS"); + QString symbianTrPath = project->first("SYMBIANTRANSLATIONDIR"); + QString symbianTrSrcPath = project->first("SYMBIANTRANSLATIONSRCDIR"); + QString symbianWinscwUdebQmPath = project->first("SYMBIANWINSCWUDEBTRANSLATIONDIR"); + QString symbianWinscwUrelQmPath = project->first("SYMBIANWINSCWURELTRANSLATIONDIR"); + t << "RESOURCE: create_qm" << endl << endl; + t << "create_qm : " << endl; + foreach (const QString &symbianTrans, symbianTranslations) { + QString translationTsFilename(translationFilename); + translationTsFilename.chop(3); + translationTsFilename.insert(0,symbianTrPath); + translationTsFilename.append(QString::fromLatin1("_")); + translationTsFilename.append(symbianTrans); + QString translationQmFilename(translationTsFilename); + + translationTsFilename.append(QString::fromLatin1(".ts")); + // output path for armv5 qm files./epoc32/data/z/resource/qt/translations/ + translationQmFilename.append(QString::fromLatin1(".qm")); + + // input path for ts files. /epoc32/include/platform/qt/translations/ + QString translationTsSrcFilename(translationFilename); + translationTsSrcFilename.chop(3); + translationTsSrcFilename.insert(0,symbianTrSrcPath); + translationTsSrcFilename.append(QString::fromLatin1("_")); + translationTsSrcFilename.append(symbianTrans); + translationTsSrcFilename.append(QString::fromLatin1(".ts")); + + // output path for winscw qm files. /epoc32/release/winscw/udeb/z/resource/qt/translations/ + QString translationQmWinscwUdebFilename(translationFilename); + translationQmWinscwUdebFilename.chop(3); + translationQmWinscwUdebFilename.insert(0,symbianWinscwUdebQmPath); + translationQmWinscwUdebFilename.append(QString::fromLatin1("_")); + translationQmWinscwUdebFilename.append(symbianTrans); + translationQmWinscwUdebFilename.append(QString::fromLatin1(".qm")); + + // output path for winscw qm files. /epoc32/release/winscw/urel/z/resource/qt/translations/ + QString translationQmWinscwUrelFilename(translationFilename); + translationQmWinscwUrelFilename.chop(3); + translationQmWinscwUrelFilename.insert(0,symbianWinscwUrelQmPath); + translationQmWinscwUrelFilename.append(QString::fromLatin1("_")); + translationQmWinscwUrelFilename.append(symbianTrans); + translationQmWinscwUrelFilename.append(QString::fromLatin1(".qm")); + + //these get generated to component mk file. + t << "\tlrelease -silent -idbased " << translationTsSrcFilename << " -qm " << translationQmFilename << endl; + t << "\tlrelease -silent -idbased " << translationTsSrcFilename << " -qm " << translationQmWinscwUdebFilename << endl; + t << "\tlrelease -silent -idbased " << translationTsSrcFilename << " -qm " << translationQmWinscwUrelFilename << endl; + + // trFileNames QStringList needed in RELEASABLES part + trFileNames.append(translationQmFilename); + trFileNames.append(translationQmWinscwUdebFilename); + trFileNames.append(translationQmWinscwUrelFilename); + } + t << endl; } - t << endl; + else + t << "RESOURCE: " DO_NOTHING_TARGET << endl << endl; } else { t << "RESOURCE: " DO_NOTHING_TARGET << endl << endl; } t << "FREEZE: " DO_NOTHING_TARGET << endl << endl; t << "SAVESPACE: " DO_NOTHING_TARGET << endl << endl; - if (!project->values("SYMBIANTRANSLATIONS").isEmpty() && !qmFileNames.isEmpty()) { + if (!project->values("SYMBIANTRANSLATIONS").isEmpty()) { t << "RELEASABLES: list_qm" << endl << endl; t << "list_qm : " << endl; - foreach (const QString &qmFilename, qmFileNames) { - t << "\t@echo " << qmFilename << endl; - } + foreach (const QString &trFilename, trFileNames) { + t << "\t@echo " << trFilename << endl; + } t << endl; } else { t << "RELEASABLES: " DO_NOTHING_TARGET << endl << endl; @@ -220,7 +260,7 @@ releasePlatforms.removeAll("winscw"); // No release for emulator QString testClause; - if (project->values("CONFIG").contains("symbian_test", Qt::CaseInsensitive)) + if (project->isActiveConfig("symbian_test")) testClause = QLatin1String(" test"); else testClause = QLatin1String("");