diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2010-02-23 13:49:29 (GMT) |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2010-02-24 08:53:38 (GMT) |
commit | 83c37b5232f01efb15a326a2cca42b3a267823bb (patch) | |
tree | 5b0d6ef56467e40c0d7ac33be3e8026057b02f48 /qmake/generators/symbian/symmake_abld.cpp | |
parent | 412512466183c021cee95002f57215707fbfb8ca (diff) | |
download | Qt-83c37b5232f01efb15a326a2cca42b3a267823bb.zip Qt-83c37b5232f01efb15a326a2cca42b3a267823bb.tar.gz Qt-83c37b5232f01efb15a326a2cca42b3a267823bb.tar.bz2 |
Basic deployment support for ROM in Symbian
Deploy everything currently deployed under /epoc32/winscw/c to also
under /epoc32/data/z to make is easier to deploy applications to ROM.
Also changes path separators in deployment generation to be Linux
friendly.
Reviewed-by: Janne Anttila
Diffstat (limited to 'qmake/generators/symbian/symmake_abld.cpp')
-rw-r--r-- | qmake/generators/symbian/symmake_abld.cpp | 51 |
1 files changed, 36 insertions, 15 deletions
diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp index 6c62412..6ac5463 100644 --- a/qmake/generators/symbian/symmake_abld.cpp +++ b/qmake/generators/symbian/symmake_abld.cpp @@ -59,6 +59,8 @@ #define FINALIZE_TARGET "finalize" #define GENERATED_SOURCES_TARGET "generated_sources" #define ALL_SOURCE_DEPS_TARGET "all_source_deps" +#define DEPLOYMENT_TARGET "deployment" +#define DEPLOYMENT_CLEAN_TARGET "deployment_clean" #define WINSCW_DEPLOYMENT_TARGET "winscw_deployment" #define WINSCW_DEPLOYMENT_CLEAN_TARGET "winscw_deployment_clean" #define STORE_BUILD_TARGET "store_build" @@ -112,25 +114,29 @@ void SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, b QStringList wrapperTargets; if (deploymentOnly) { buildDeps.append(STORE_BUILD_TARGET); - cleanDeps.append(DO_NOTHING_TARGET); - cleanDepsWinscw.append(WINSCW_DEPLOYMENT_CLEAN_TARGET); - finalDeps.append(DO_NOTHING_TARGET); - finalDepsWinscw.append(WINSCW_DEPLOYMENT_TARGET); + cleanDeps.append(DEPLOYMENT_CLEAN_TARGET); + cleanDepsWinscw.append(WINSCW_DEPLOYMENT_CLEAN_TARGET " " DEPLOYMENT_CLEAN_TARGET); + finalDeps.append(DEPLOYMENT_TARGET); + finalDepsWinscw.append(WINSCW_DEPLOYMENT_TARGET " " DEPLOYMENT_TARGET); wrapperTargets << WINSCW_DEPLOYMENT_TARGET << WINSCW_DEPLOYMENT_CLEAN_TARGET + << DEPLOYMENT_TARGET + << DEPLOYMENT_CLEAN_TARGET << STORE_BUILD_TARGET; } else { buildDeps.append(CREATE_TEMPS_TARGET " " PRE_TARGETDEPS_TARGET " " STORE_BUILD_TARGET); - cleanDeps.append(EXTENSION_CLEAN); - cleanDepsWinscw.append(EXTENSION_CLEAN " " WINSCW_DEPLOYMENT_CLEAN_TARGET); - finalDeps.append(FINALIZE_TARGET); - finalDepsWinscw.append(FINALIZE_TARGET " " WINSCW_DEPLOYMENT_TARGET); + cleanDeps.append(EXTENSION_CLEAN " " DEPLOYMENT_CLEAN_TARGET); + cleanDepsWinscw.append(EXTENSION_CLEAN " " WINSCW_DEPLOYMENT_CLEAN_TARGET " " DEPLOYMENT_CLEAN_TARGET); + finalDeps.append(FINALIZE_TARGET " " DEPLOYMENT_TARGET); + finalDepsWinscw.append(FINALIZE_TARGET " " WINSCW_DEPLOYMENT_TARGET " " DEPLOYMENT_TARGET); wrapperTargets << PRE_TARGETDEPS_TARGET << CREATE_TEMPS_TARGET << EXTENSION_CLEAN << FINALIZE_TARGET << WINSCW_DEPLOYMENT_CLEAN_TARGET << WINSCW_DEPLOYMENT_TARGET + << DEPLOYMENT_CLEAN_TARGET + << DEPLOYMENT_TARGET << STORE_BUILD_TARGET; } @@ -362,7 +368,9 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool qDeleteAll(subtargets); } - writeDeploymentTargets(t); + // Deploymend targets for both emulator and rom deployment + writeDeploymentTargets(t, false); + writeDeploymentTargets(t, true); writeSisTargets(t); @@ -407,13 +415,21 @@ void SymbianAbldMakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t, Q_UNUSED(iconTargetFile); } -bool SymbianAbldMakefileGenerator::writeDeploymentTargets(QTextStream &t) +bool SymbianAbldMakefileGenerator::writeDeploymentTargets(QTextStream &t, bool isRom) { - t << WINSCW_DEPLOYMENT_TARGET ":" << endl; + if (isRom) + t << DEPLOYMENT_TARGET ":" << endl; + else + t << WINSCW_DEPLOYMENT_TARGET ":" << endl; - QString remoteTestPath = epocRoot() + QLatin1String("epoc32\\winscw\\c\\private\\") + privateDirUid; // default 4 OpenC; 4 all Symbian too + QString remoteTestPath = epocRoot() + + QLatin1String(isRom ? "epoc32\\data\\z\\private\\" : "epoc32\\winscw\\c\\private\\") + + privateDirUid; DeploymentList depList; - initProjectDeploySymbian(project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles); + + initProjectDeploySymbian(project, depList, remoteTestPath, false, + QLatin1String(isRom ? ROM_DEPLOYMENT_PLATFORM : EMULATOR_DEPLOYMENT_PLATFORM), + QString(), generatedDirs, generatedFiles); if (depList.size()) t << "\t-echo Deploying changed files..." << endl; @@ -422,12 +438,17 @@ bool SymbianAbldMakefileGenerator::writeDeploymentTargets(QTextStream &t) // Xcopy prompts for selecting file or directory if target doesn't exist, // and doesn't provide switch to force file selection. It does provide dir forcing, though, // so strip the last part of the destination. - t << "\t-$(XCOPY) \"" << depList.at(i).from << "\" \"" << depList.at(i).to.left(depList.at(i).to.lastIndexOf("\\") + 1) << "\"" << endl; + t << "\t-$(XCOPY) \"" << depList.at(i).from << "\" \"" + << depList.at(i).to.left(depList.at(i).to.lastIndexOf("\\") + 1) << "\"" << endl; } t << endl; - t << WINSCW_DEPLOYMENT_CLEAN_TARGET ":" << endl; + if (isRom) + t << DEPLOYMENT_CLEAN_TARGET ":" << endl; + else + t << WINSCW_DEPLOYMENT_CLEAN_TARGET ":" << endl; + QStringList cleanList; for (int i = 0; i < depList.size(); ++i) { cleanList.append(depList.at(i).to); |