diff options
author | Shane Kearns <shane.kearns@accenture.com> | 2009-12-18 17:24:56 (GMT) |
---|---|---|
committer | Shane Kearns <shane.kearns@sosco.com> | 2009-12-21 15:08:52 (GMT) |
commit | f61a32948da3cac4b83123267ae8c5d2fa0525f6 (patch) | |
tree | 18cc0b85c785ecc0a59fc5d1a3ec8dc463ad007b /qmake/generators/symbian | |
parent | 4d20d1f9a307b8c3b032fd548bdfd077a91440f3 (diff) | |
download | Qt-f61a32948da3cac4b83123267ae8c5d2fa0525f6.zip Qt-f61a32948da3cac4b83123267ae8c5d2fa0525f6.tar.gz Qt-f61a32948da3cac4b83123267ae8c5d2fa0525f6.tar.bz2 |
Tool for launching symbian apps on the phone from windows command line
The tool uses TRK to launch the application.
TRK is a debug agent, available as a signed package for consumer phones.
For Nokia phones, it is distributed with carbide; for other manufacturers
it can be downloaded from their developer websites.
The launcher code is reused from Qt creator, with a patch to allow us
to pass command line arguments to the process being launched.
The "make run" target is enhanced to support running on target as well as
the emulator. Like the "make sis" target, the last platform to have been
built is the one that will be launched.
The runonphone tool needs to be built in a Qt environment configured for
windows, and requires at least windows XP (Symbian development requires
windows XP SP2). Current proposal is to include a statically linked exe
in the bin directory for binary packages.
Reviewed-by: Janne Koskinen
Diffstat (limited to 'qmake/generators/symbian')
-rw-r--r-- | qmake/generators/symbian/symmake.cpp | 19 | ||||
-rw-r--r-- | qmake/generators/symbian/symmake.h | 1 | ||||
-rw-r--r-- | qmake/generators/symbian/symmake_abld.cpp | 6 | ||||
-rw-r--r-- | qmake/generators/symbian/symmake_sbsv2.cpp | 6 |
4 files changed, 22 insertions, 10 deletions
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index 8379ed9..14177b5 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -1852,3 +1852,22 @@ void SymbianMakefileGenerator::generateDistcleanTargets(QTextStream& t) t << "distclean: clean dodistclean" << endl; t << endl; } + +void SymbianMakefileGenerator::generateExecutionTargets(QTextStream& t, const QStringList& platforms) +{ + // create execution targets + if (targetType == TypeExe) { + if (platforms.contains("winscw")) { + t << "ifeq (\"DEBUG-winscw\", \"$(QT_SIS_TARGET)\")" << endl; + t << "run:" << endl; + t << "\t-call " << epocRoot() << "epoc32/release/winscw/udeb/" << fixedTarget << ".exe " << "$(QT_RUN_OPTIONS)" << endl; + t << "else" << endl; + } + t << "run: sis" << endl; + t << "\trunonphone --sis " << fixedTarget << "_$(QT_SIS_TARGET).sis " << fixedTarget << ".exe " << "$(QT_RUN_OPTIONS)" << endl; + if (platforms.contains("winscw")) { + t << "endif" << endl; + } + t << endl; + } +} diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h index 1a20e64..6949842 100644 --- a/qmake/generators/symbian/symmake.h +++ b/qmake/generators/symbian/symmake.h @@ -148,6 +148,7 @@ protected: void writeSisTargets(QTextStream &t); void generateDistcleanTargets(QTextStream& t); + void generateExecutionTargets(QTextStream& t, const QStringList& platforms); // Subclass implements virtual void writeBldInfExtensionRulesPart(QTextStream& t, const QString &iconTargetFile) = 0; diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp index f2baf46..4ecaae3 100644 --- a/qmake/generators/symbian/symmake_abld.cpp +++ b/qmake/generators/symbian/symmake_abld.cpp @@ -372,11 +372,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool t << "\t-bldmake clean" << endl; t << endl; - // Create execution target - if (debugPlatforms.contains("winscw") && targetType == TypeExe) { - t << "run:" << endl; - t << "\t-call " << epocRoot() << "epoc32\\release\\winscw\\udeb\\" << fixedTarget << ".exe" << endl << endl; - } + generateExecutionTargets(t, debugPlatforms); } void SymbianAbldMakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t, const QString &iconTargetFile) diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp index ad22cfd..5f5c5c4 100644 --- a/qmake/generators/symbian/symmake_sbsv2.cpp +++ b/qmake/generators/symbian/symmake_sbsv2.cpp @@ -231,11 +231,7 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo t << "\t-$(SBS) reallyclean" << endl; t << endl; - // create execution target - if (debugPlatforms.contains("winscw") && targetType == TypeExe) { - t << "run:" << endl; - t << "\t-call " << epocRoot() << "epoc32/release/winscw/udeb/" << fixedTarget << ".exe" << endl << endl; - } + generateExecutionTargets(t, debugPlatforms); } void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t, const QString &iconTargetFile) |