summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/symbian/symbian-makefile.conf1
-rw-r--r--mkspecs/common/symbian/symbian.conf2
-rw-r--r--mkspecs/features/sis_targets.prf15
-rw-r--r--mkspecs/features/symbian/run_on_phone.prf32
4 files changed, 41 insertions, 9 deletions
diff --git a/mkspecs/common/symbian/symbian-makefile.conf b/mkspecs/common/symbian/symbian-makefile.conf
index a3aade7..ab0c5b9 100644
--- a/mkspecs/common/symbian/symbian-makefile.conf
+++ b/mkspecs/common/symbian/symbian-makefile.conf
@@ -26,7 +26,6 @@ include(../../common/unix.conf)
QMAKE_PREFIX_SHLIB =
QMAKE_EXTENSION_SHLIB = dll
CONFIG *= no_plugin_name_prefix
-CONFIG += run_on_phone
QMAKE_EXTENSION_PLUGIN = dll
QMAKE_PREFIX_STATICLIB =
QMAKE_EXTENSION_STATICLIB = lib
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index b8bfd7c..b037d3c 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -3,7 +3,7 @@
#
TEMPLATE = app
-CONFIG += qt warn_on release incremental link_prl sis_targets
+CONFIG += qt warn_on release incremental link_prl sis_targets run_on_phone
QT += core gui
QMAKE_INCREMENTAL_STYLE = sublib
diff --git a/mkspecs/features/sis_targets.prf b/mkspecs/features/sis_targets.prf
index 0023b54..b149a22 100644
--- a/mkspecs/features/sis_targets.prf
+++ b/mkspecs/features/sis_targets.prf
@@ -1,5 +1,15 @@
# Sis file creation
-contains(TEMPLATE, app)|!equals(DEPLOYMENT, default_deployment) {
+GENERATE_SIS_TARGETS = false
+
+contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true
+else:!equals(DEPLOYMENT, default_deployment) {
+ for(dep_item, $$list($$DEPLOYMENT)) {
+ dep_item_sources = $$eval($${dep_item}.sources)
+ !isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true
+ }
+}
+
+equals(GENERATE_SIS_TARGETS, true) {
symbian-abld|symbian-sbsv2 {
sis_destdir =
make_cache_name = .make.cache
@@ -129,7 +139,8 @@ contains(TEMPLATE, app)|!equals(DEPLOYMENT, default_deployment) {
} else {
# Make sure we build everything, since other sis targets in a recursive invocation
# may depend on them, even if this one is empty.
- sis_target.depends = first
+ # In abld/sbsv2, we assume that subdir has been built already, as all builds are recursive.
+ !symbian-abld:!symbian-sbsv2: sis_target.depends = first
}
sis_target.commands =
sis_target.target = sis
diff --git a/mkspecs/features/symbian/run_on_phone.prf b/mkspecs/features/symbian/run_on_phone.prf
index c4c7baf..6948a48 100644
--- a/mkspecs/features/symbian/run_on_phone.prf
+++ b/mkspecs/features/symbian/run_on_phone.prf
@@ -1,9 +1,31 @@
# make sure we have a sis file and then call 'runonphone' to execute it on the phone
-contains(TEMPLATE, app) {
- run_target.target = runonphone
- run_target.depends = sis
- run_target.commands = runonphone $(QT_RUN_ON_PHONE_OPTIONS) --sis "$${sis_destdir}$${TARGET}.sis" "$${TARGET}.exe" $(QT_RUN_OPTIONS)
+GENERATE_RUN_TARGETS = false
- QMAKE_EXTRA_TARGETS += run_target
+contains(TEMPLATE, app): GENERATE_RUN_TARGETS = true
+else:!equals(DEPLOYMENT, default_deployment) {
+ for(dep_item, $$list($$DEPLOYMENT)) {
+ dep_item_sources = $$eval($${dep_item}.sources)
+ !isEmpty(dep_item_sources): GENERATE_RUN_TARGETS = true
+ }
+}
+
+equals(GENERATE_RUN_TARGETS, true) {
+ sis_destdir = $$DESTDIR
+ !isEmpty(sis_destdir):!contains(sis_destdir, "[/\\\\]$"):sis_destdir = $${sis_destdir}/
+ contains(QMAKE_HOST.os, "Windows"):sis_destdir = $$replace(sis_destdir, "/", "\\")
+
+ contains(SYMBIAN_PLATFORMS, "WINSCW"):contains(TEMPLATE, "app") {
+ run_target.target = run
+ run_target.commands = call "$${EPOCROOT}epoc32/release/winscw/udeb/$${TARGET}.exe" $(QT_RUN_OPTIONS)
+
+ QMAKE_EXTRA_TARGETS += run_target
+ }
+
+ runonphone_target.target = runonphone
+ runonphone_target.depends = sis
+ runonphone_target.commands = runonphone $(QT_RUN_ON_PHONE_OPTIONS) --sis "$${sis_destdir}$${TARGET}.sis"
+ contains(TEMPLATE, "app"):runonphone_target.commands += "$${TARGET}.exe" $(QT_RUN_OPTIONS)
+
+ QMAKE_EXTRA_TARGETS += runonphone_target
}