diff options
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/symbian/symbian-makefile.conf | 1 | ||||
-rw-r--r-- | mkspecs/common/symbian/symbian.conf | 2 | ||||
-rw-r--r-- | mkspecs/features/sis_targets.prf | 15 | ||||
-rw-r--r-- | mkspecs/features/symbian/run_on_phone.prf | 32 |
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 } |