diff options
author | Janne Anttila <janne.anttila@digia.com> | 2009-08-27 08:04:32 +0300 |
---|---|---|
committer | Janne Anttila <janne.anttila@digia.com> | 2009-08-27 08:04:32 +0300 |
commit | f189e00fb98f3f5cf5353c69ffe77f206304666b (patch) | |
tree | 0293b39422ff6ef9123da47ed8cd4fdb7d30178d /qmake | |
parent | 8c71456e2fdeba68978895d5c38f7fd251ab7808 (diff) | |
download | qt4-tools-f189e00fb98f3f5cf5353c69ffe77f206304666b.tar.gz |
Support for template PKG file.
This commit changes qmake to generate only one template pkg file,
instead of one for each supported platform and build.
Due to this change createpackage.bat script now need to be called with
two additional parameters - platform and target. Example of needed changes:
Instead of old way:
>createpackage.bat [-i] pkgfile [certificate key [passphrase]]
The new implementation works as:
>createpackage.bat [-i] pkgfile platform build [certificate key [passphrase]]
In addition createpackage.bat backend is replaced by createpackage.pl,
it takes care of preprocesing the pkg file, i.e. expanding the variables with
their values and calling the makesis and signsis with right parameters.
Perl is used to make implementation more cross-platform.
Task: 259037
RevBy: Miikka Heikkinen
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/symbian/initprojectdeploy_symbian.cpp | 2 | ||||
-rw-r--r-- | qmake/generators/symbian/symmake.cpp | 23 | ||||
-rw-r--r-- | qmake/generators/symbian/symmake.h | 2 |
3 files changed, 8 insertions, 19 deletions
diff --git a/qmake/generators/symbian/initprojectdeploy_symbian.cpp b/qmake/generators/symbian/initprojectdeploy_symbian.cpp index e903fc1bbf..3bc2391793 100644 --- a/qmake/generators/symbian/initprojectdeploy_symbian.cpp +++ b/qmake/generators/symbian/initprojectdeploy_symbian.cpp @@ -331,7 +331,7 @@ void initProjectDeploySymbian(QMakeProject* project, if (deployBinaries) { // Executables and libraries are deployed to \sys\bin QFileInfo releasePath(epocRoot() + "epoc32\\release\\" + platform + "\\" + build + "\\"); - deploymentList.append(CopyItem(Option::fixPathToLocalOS(releasePath.absolutePath() + "\\" + info.fileName()), + deploymentList.append(CopyItem(Option::fixPathToLocalOS(releasePath.absolutePath() + "\\" + info.fileName(), false, true), Option::fixPathToLocalOS(deploymentDrive + QLatin1String(SYSBIN_DIR "\\") + info.fileName()))); } if (isPlugin(info, devicePath)) { diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index c20ecf3480..b4d693cbde 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -194,13 +194,7 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t) } if (generatePkg) { - QStringList platformList = project->values("SYMBIAN_PLATFORMS"); - foreach(QString platform, platformList) { - if (platform.compare("WINSCW", Qt::CaseInsensitive)) { - generatePkgFile(platform.toLower(), "udeb", iconFile); - generatePkgFile(platform.toLower(), "urel", iconFile); - } - } + generatePkgFile(iconFile); } writeBldInfContent(t, generatePkg); @@ -258,13 +252,10 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t) return true; } -void SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QString &config, const QString &iconFile) +void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile) { - QString build = (config == "udeb") ? "debug" : "release"; - QString pkgFilename = QString("%1_%2-%3.%4") + QString pkgFilename = QString("%1_template.%2") .arg(fileInfo(project->projectFile()).completeBaseName()) - .arg(build) - .arg(compiler) .arg("pkg"); QFile pkgFile(pkgFilename); if (!pkgFile.open(QIODevice::WriteOnly | QIODevice::Text)) { @@ -344,10 +335,8 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS QString installPathRegResource = "!:\\private\\10003a3f\\import\\apps"; // Find location of builds - QString epocReleasePath = QString("%1epoc32/release/%2/%3") - .arg(epocRoot()) - .arg(compiler) - .arg(config); + QString epocReleasePath = QString("%1epoc32/release/$(PLATFORM)/$(TARGET)") + .arg(epocRoot()); if (targetType == TypeExe) { @@ -391,7 +380,7 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS QString remoteTestPath; remoteTestPath = QString("!:\\private\\%1").arg(privateDirUid); - initProjectDeploySymbian(project, depList, remoteTestPath, true, compiler, config, generatedDirs, generatedFiles); + initProjectDeploySymbian(project, depList, remoteTestPath, true, "$(PLATFORM)", "$(TARGET)", generatedDirs, generatedFiles); if (depList.size()) t << "; DEPLOYMENT" << endl; for (int i = 0; i < depList.size(); ++i) { diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h index 22dc4c96ff..2fea29b03a 100644 --- a/qmake/generators/symbian/symmake.h +++ b/qmake/generators/symbian/symmake.h @@ -84,7 +84,7 @@ protected: QString canonizePath(const QString& origPath); virtual bool writeMakefile(QTextStream &t); - void generatePkgFile(const QString &compiler, const QString &config, const QString &iconFile); + void generatePkgFile(const QString &iconFile); bool containsStartWithItem(const QChar &c, const QStringList& src); virtual void init(); |