38be0d1383
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12
227 lines
12 KiB
Plaintext
227 lines
12 KiB
Plaintext
# Sis file creation
|
|
GENERATE_SIS_TARGETS = false
|
|
|
|
contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true
|
|
else:!equals(DEPLOYMENT, default_deployment) {
|
|
for(dep_item, $$list($$DEPLOYMENT)) {
|
|
### Qt 5: remove .sources, inconsistent with INSTALLS
|
|
dep_item_sources = $$eval($${dep_item}.files) $$eval($${dep_item}.sources)
|
|
!isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true
|
|
}
|
|
}
|
|
|
|
equals(GENERATE_SIS_TARGETS, true) {
|
|
|
|
baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET))
|
|
template_pkg_target.target = $${baseTarget}_template.pkg
|
|
template_pkg_target.depends += $$_PRO_FILE_
|
|
template_pkg_target.commands = $(MAKE) -f $(MAKEFILE) qmake
|
|
installer_pkg_target.target = $${baseTarget}_installer.pkg
|
|
installer_pkg_target.depends += $$_PRO_FILE_
|
|
installer_pkg_target.commands = $(MAKE) -f $(MAKEFILE) qmake
|
|
stub_pkg_target.target = $${baseTarget}_stub.pkg
|
|
stub_pkg_target.depends += $$_PRO_FILE_
|
|
stub_pkg_target.commands = $(MAKE) -f $(MAKEFILE) qmake
|
|
QMAKE_EXTRA_TARGETS += template_pkg_target installer_pkg_target stub_pkg_target
|
|
|
|
qtPrepareTool(QMAKE_CREATEPACKAGE, createpackage)
|
|
|
|
CREATEPACKAGE_DIR = $$OBJECTS_DIR/createpackage_tmp
|
|
QMAKE_CLEAN += $$CREATEPACKAGE_DIR/*
|
|
|
|
symbian-abld|symbian-sbsv2 {
|
|
symbian-sbsv2 {
|
|
CONVERT_GCCE_PARAM = -g
|
|
} else {
|
|
CONVERT_GCCE_PARAM =
|
|
}
|
|
|
|
make_cache_name = .make.cache
|
|
sis_target.target = sis
|
|
sis_target.commands = $(if $(wildcard $$make_cache_name), \
|
|
$(MAKE) -f $(MAKEFILE) ok_sis MAKEFILES=$$make_cache_name \
|
|
, \
|
|
$(if $(QT_SIS_TARGET), \
|
|
$(MAKE) -f $(MAKEFILE) ok_sis \
|
|
, \
|
|
$(MAKE) -f $(MAKEFILE) fail_sis_nocache \
|
|
) \
|
|
)
|
|
|
|
sis_target.depends += $${baseTarget}_template.pkg
|
|
|
|
ok_sis_target.target = ok_sis
|
|
ok_sis_target.commands = $$QMAKE_CREATEPACKAGE $$CONVERT_GCCE_PARAM -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
|
|
$(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
|
|
|
|
unsigned_sis_target.target = unsigned_sis
|
|
unsigned_sis_target.commands = $(if $(wildcard $$make_cache_name), \
|
|
$(MAKE) -f $(MAKEFILE) ok_unsigned_sis MAKEFILES=$$make_cache_name \
|
|
, \
|
|
$(if $(QT_SIS_TARGET), \
|
|
$(MAKE) -f $(MAKEFILE) ok_unsigned_sis \
|
|
, \
|
|
$(MAKE) -f $(MAKEFILE) fail_sis_nocache \
|
|
) \
|
|
)
|
|
|
|
unsigned_sis_target.depends += $${baseTarget}_template.pkg
|
|
|
|
ok_unsigned_sis_target.target = ok_unsigned_sis
|
|
ok_unsigned_sis_target.commands = $$QMAKE_CREATEPACKAGE $$CONVERT_GCCE_PARAM -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg $(QT_SIS_TARGET)
|
|
|
|
target_sis_target.target = $${baseTarget}.sis
|
|
target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
|
|
|
|
# The installer_sis target has dependency to sis target, so it will regenerate sis package.
|
|
# To create smart installer wrapper for for an existing sis package, use ok_installer_sis target directly.
|
|
installer_sis_target.target = installer_sis
|
|
installer_sis_target.commands = $(MAKE) -f $(MAKEFILE) ok_installer_sis
|
|
installer_sis_target.depends = $${baseTarget}_installer.pkg sis
|
|
|
|
ok_installer_sis_target.target = ok_installer_sis
|
|
ok_installer_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
|
|
$(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
|
|
ok_installer_sis_target.depends = $${baseTarget}_installer.pkg
|
|
|
|
unsigned_installer_sis_target.target = unsigned_installer_sis
|
|
unsigned_installer_sis_target.commands = $(MAKE) -f $(MAKEFILE) ok_unsigned_installer_sis
|
|
unsigned_installer_sis_target.depends = $${baseTarget}_installer.pkg unsigned_sis
|
|
|
|
ok_unsigned_installer_sis_target.target = ok_unsigned_installer_sis
|
|
ok_unsigned_installer_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) -o $${baseTarget}_installer.pkg
|
|
ok_unsigned_installer_sis_target.depends = $${baseTarget}_installer.pkg
|
|
|
|
fail_sis_nocache_target.target = fail_sis_nocache
|
|
fail_sis_nocache_target.commands = "$(error Project has to be built or QT_SIS_TARGET environment variable has to be set before calling 'SIS' target)"
|
|
|
|
stub_sis_target.target = stub_sis
|
|
stub_sis_target.commands = $(if $(wildcard $$make_cache_name), \
|
|
$(MAKE) -f $(MAKEFILE) ok_stub_sis MAKEFILES=$$make_cache_name \
|
|
, \
|
|
$(if $(QT_SIS_TARGET), \
|
|
$(MAKE) -f $(MAKEFILE) ok_stub_sis \
|
|
, \
|
|
$(MAKE) -f $(MAKEFILE) fail_sis_nocache \
|
|
) \
|
|
)
|
|
|
|
stub_sis_target.depends += $${baseTarget}_stub.pkg
|
|
|
|
ok_stub_sis_target.target = ok_stub_sis
|
|
ok_stub_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR -s $(QT_SIS_OPTIONS) $${baseTarget}_stub.pkg \
|
|
$(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
|
|
|
|
QMAKE_EXTRA_TARGETS += sis_target \
|
|
ok_sis_target \
|
|
unsigned_sis_target \
|
|
ok_unsigned_sis_target \
|
|
target_sis_target \
|
|
installer_sis_target \
|
|
ok_installer_sis_target \
|
|
unsigned_installer_sis_target \
|
|
ok_unsigned_installer_sis_target \
|
|
fail_sis_nocache_target \
|
|
stub_sis_target \
|
|
ok_stub_sis_target
|
|
# Sbsv2 has its own store_build target which is using flms.
|
|
!symbian-sbsv2 {
|
|
contains(QMAKE_HOST.os, "Windows") {
|
|
shellFixedHash = $${LITERAL_HASH}
|
|
} else {
|
|
shellFixedHash = \\$${LITERAL_HASH}
|
|
}
|
|
store_build_target.target = store_build
|
|
store_build_target.commands = \
|
|
@echo $${shellFixedHash} ============================================================================== > $$make_cache_name \
|
|
&& echo $${shellFixedHash} This file is generated by make and should not be modified by the user >> $$make_cache_name \
|
|
&& echo $${shellFixedHash} Name : $$make_cache_name >> $$make_cache_name \
|
|
&& echo $${shellFixedHash} Part of : lineedits >> $$make_cache_name \
|
|
&& echo $${shellFixedHash} Description : This file is used to cache last build target for >> $$make_cache_name \
|
|
&& echo $${shellFixedHash} make sis target. >> $$make_cache_name \
|
|
&& echo $${shellFixedHash} Version : >> $$make_cache_name \
|
|
&& echo $${shellFixedHash} >> $$make_cache_name \
|
|
&& echo $${shellFixedHash} ============================================================================== >> $$make_cache_name \
|
|
&& echo QT_SIS_TARGET ?= $(QT_SIS_TARGET) >> $$make_cache_name
|
|
|
|
QMAKE_EXTRA_TARGETS += store_build_target
|
|
QMAKE_CLEAN += $$make_cache_name
|
|
}
|
|
} else {
|
|
sis_destdir = $$DESTDIR
|
|
isEmpty(sis_destdir):sis_destdir = .
|
|
!equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET)
|
|
|
|
sis_target.target = sis
|
|
sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
|
|
- $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
|
|
sis_target.depends = first $${baseTarget}_template.pkg
|
|
|
|
unsigned_sis_target.target = unsigned_sis
|
|
unsigned_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg
|
|
unsigned_sis_target.depends = first $${baseTarget}_template.pkg
|
|
|
|
target_sis_target.target = $${sis_destdir}/$${baseTarget}.sis
|
|
target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
|
|
|
|
installer_sis_target.target = installer_sis
|
|
installer_sis_target.commands = $(MAKE) -f $(MAKEFILE) ok_installer_sis
|
|
installer_sis_target.depends = $${baseTarget}_installer.pkg sis
|
|
|
|
ok_installer_sis_target.target = ok_installer_sis
|
|
ok_installer_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
|
|
$(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
|
|
ok_installer_sis_target.depends = $${baseTarget}_installer.pkg
|
|
|
|
unsigned_installer_sis_target.target = unsigned_installer_sis
|
|
unsigned_installer_sis_target.commands = $$QMAKE_CREATEPACKAGE -t $$CREATEPACKAGE_DIR $(QT_SIS_OPTIONS) -o $${baseTarget}_installer.pkg
|
|
unsigned_installer_sis_target.depends = $${baseTarget}_installer.pkg unsigned_sis
|
|
|
|
!isEmpty(sis_destdir):!equals(sis_destdir, "."):!equals(sis_destdir, "./") {
|
|
sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir
|
|
unsigned_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}_unsigned.sis $$sis_destdir
|
|
installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}_installer.sis $$sis_destdir
|
|
unsigned_installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}_unsigned_installer.sis $$sis_destdir
|
|
}
|
|
|
|
QMAKE_EXTRA_TARGETS += sis_target \
|
|
unsigned_sis_target \
|
|
target_sis_target \
|
|
installer_sis_target \
|
|
ok_installer_sis_target \
|
|
unsigned_installer_sis_target
|
|
|
|
QMAKE_DISTCLEAN += $${sis_destdir}/$${baseTarget}.sis
|
|
}
|
|
|
|
deploy_target.target = deploy
|
|
contains(QMAKE_HOST.os, "Windows") {
|
|
deploy_target.depends = sis
|
|
deploy_target.commands = call $$target_sis_target.target
|
|
} else {
|
|
deploy_target.commands = @echo Deployment not supported in this environment
|
|
}
|
|
QMAKE_EXTRA_TARGETS += deploy_target
|
|
|
|
} else {
|
|
contains(TEMPLATE, subdirs) {
|
|
# Enable recursive sis target.
|
|
sis_target.CONFIG = recursive
|
|
sis_target.recurse = $$SUBDIRS
|
|
} else {
|
|
# Make sure we build everything, since other sis targets in a recursive invocation
|
|
# may depend on them, even if this one is empty.
|
|
# 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
|
|
QMAKE_EXTRA_TARGETS += sis_target
|
|
|
|
symbian-abld {
|
|
# Create dummy store_build target to avoid errors from .mk callbacks during build
|
|
store_build_target.target = store_build
|
|
QMAKE_EXTRA_TARGETS += store_build_target
|
|
}
|
|
}
|