1 # Sis file creation |
1 # Sis file creation |
2 contains(TEMPLATE, app)|!count(DEPLOYMENT, 1) { |
2 GENERATE_SIS_TARGETS = false |
|
3 |
|
4 contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true |
|
5 else:!equals(DEPLOYMENT, default_deployment) { |
|
6 for(dep_item, $$list($$DEPLOYMENT)) { |
|
7 eval(dep_item_sources = $${dep_item}.sources) |
|
8 !isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true |
|
9 } |
|
10 } |
|
11 |
|
12 equals(GENERATE_SIS_TARGETS, true) { |
3 symbian-abld|symbian-sbsv2 { |
13 symbian-abld|symbian-sbsv2 { |
4 sis_destdir = |
14 sis_destdir = |
5 make_cache_name = .make.cache |
15 make_cache_name = .make.cache |
6 sis_target.target = sis |
16 sis_target.target = sis |
7 sis_target.commands = $(if $(wildcard $$basename(TARGET)_template.pkg), \ |
17 sis_target.commands = $(if $(wildcard $$basename(TARGET)_template.pkg), \ |
19 ) |
29 ) |
20 |
30 |
21 ok_sis_target.target = ok_sis |
31 ok_sis_target.target = ok_sis |
22 ok_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $$basename(TARGET)_template.pkg \ |
32 ok_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $$basename(TARGET)_template.pkg \ |
23 $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) |
33 $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) |
|
34 |
|
35 unsigned_sis_target.target = unsigned_sis |
|
36 unsigned_sis_target.commands = $(if $(wildcard $$basename(TARGET)_template.pkg), \ |
|
37 $(if $(wildcard $$make_cache_name), \ |
|
38 $(MAKE) -f $(MAKEFILE) ok_unsigned_sis MAKEFILES=$$make_cache_name \ |
|
39 , \ |
|
40 $(if $(QT_SIS_TARGET), \ |
|
41 $(MAKE) -f $(MAKEFILE) ok_unsigned_sis \ |
|
42 , \ |
|
43 $(MAKE) -f $(MAKEFILE) fail_sis_nocache \ |
|
44 ) \ |
|
45 ) \ |
|
46 , \ |
|
47 $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \ |
|
48 ) |
|
49 |
|
50 ok_unsigned_sis_target.target = ok_unsigned_sis |
|
51 ok_unsigned_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) -o $$basename(TARGET)_template.pkg $(QT_SIS_TARGET) |
24 |
52 |
25 target_sis_target.target = $${sis_destdir}$${TARGET}.sis |
53 target_sis_target.target = $${sis_destdir}$${TARGET}.sis |
26 target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis |
54 target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis |
27 |
55 |
28 installer_sis_target.target = installer_sis |
56 installer_sis_target.target = installer_sis |
94 |
124 |
95 QMAKE_EXTRA_TARGETS += store_build_target |
125 QMAKE_EXTRA_TARGETS += store_build_target |
96 } |
126 } |
97 } else { |
127 } else { |
98 sis_destdir = $$DESTDIR |
128 sis_destdir = $$DESTDIR |
99 !isEmpty(sis_destdir):!contains(sis_destdir, "[/\\]$"):sis_destdir = $${sis_destdir}/ |
129 isEmpty(sis_destdir):sis_destdir = . |
100 contains(QMAKE_HOST.os, "Windows"):sis_destdir = $$replace(sis_destdir, "/", "\\") |
130 baseTarget = $$basename(TARGET) |
|
131 !equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET) |
101 |
132 |
102 sis_target.target = sis |
133 sis_target.target = sis |
103 sis_target.commands = createpackage $(QT_SIS_OPTIONS) $$basename(TARGET)_template.pkg \ |
134 sis_target.commands = createpackage $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \ |
104 - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) |
135 - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) |
105 sis_target.depends = first |
136 sis_target.depends = first |
106 |
137 |
107 target_sis_target.target = $${sis_destdir}$${TARGET}.sis |
138 unsigned_sis_target.target = unsigned_sis |
|
139 unsigned_sis_target.commands = createpackage $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg |
|
140 unsigned_sis_target.depends = first |
|
141 |
|
142 target_sis_target.target = $${sis_destdir}/$${baseTarget}.sis |
108 target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis |
143 target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis |
109 |
144 |
110 installer_sis_target.target = installer_sis |
145 installer_sis_target.target = installer_sis |
111 installer_sis_target.commands = createpackage $(QT_SIS_OPTIONS) $$basename(TARGET)_installer.pkg - \ |
146 installer_sis_target.commands = createpackage $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \ |
112 $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) |
147 $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE) |
113 installer_sis_target.depends = $${sis_destdir}$${TARGET}.sis |
148 installer_sis_target.depends = $${sis_destdir}/$${baseTarget}.sis |
114 |
149 |
115 !isEmpty(DESTDIR) { |
150 !isEmpty(sis_destdir):!equals(sis_destdir, "."):!equals(sis_destdir, "./") { |
116 sis_target.commands += && $$QMAKE_MOVE $$basename(TARGET).sis $$DESTDIR |
151 sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir |
117 installer_sis_target.commands += && $$QMAKE_MOVE $$basename(TARGET).sis $$DESTDIR |
152 installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir |
118 } |
153 } |
119 |
154 |
120 QMAKE_EXTRA_TARGETS += sis_target \ |
155 QMAKE_EXTRA_TARGETS += sis_target \ |
|
156 unsigned_sis_target \ |
121 target_sis_target \ |
157 target_sis_target \ |
122 installer_sis_target |
158 installer_sis_target |
|
159 |
|
160 QMAKE_DISTCLEAN += $${sis_destdir}/$${baseTarget}.sis |
123 } |
161 } |
|
162 |
|
163 deploy_target.target = deploy |
|
164 contains(QMAKE_HOST.os, "Windows") { |
|
165 deploy_target.depends = sis |
|
166 deploy_target.commands = call $$target_sis_target.target |
|
167 } else { |
|
168 deploy_target.commands = @echo Deployment not supported in this environment |
|
169 } |
|
170 QMAKE_EXTRA_TARGETS += deploy_target |
|
171 |
124 } else { |
172 } else { |
125 contains(TEMPLATE, subdirs) { |
173 contains(TEMPLATE, subdirs) { |
126 # Enable recursive sis target. |
174 # Enable recursive sis target. |
127 sis_target.CONFIG = recursive |
175 sis_target.CONFIG = recursive |
128 sis_target.recurse = $$SUBDIRS |
176 sis_target.recurse = $$SUBDIRS |
129 } else { |
177 } else { |
130 # Make sure we build everything, since other sis targets in a recursive invocation |
178 # Make sure we build everything, since other sis targets in a recursive invocation |
131 # may depend on them, even if this one is empty. |
179 # may depend on them, even if this one is empty. |
132 sis_target.depends = first |
180 # In abld/sbsv2, we assume that subdir has been built already, as all builds are recursive. |
|
181 !symbian-abld:!symbian-sbsv2: sis_target.depends = first |
133 } |
182 } |
134 sis_target.commands = |
183 sis_target.commands = |
135 sis_target.target = sis |
184 sis_target.target = sis |
136 QMAKE_EXTRA_TARGETS += sis_target |
185 QMAKE_EXTRA_TARGETS += sis_target |
|
186 |
|
187 symbian-abld { |
|
188 # Create dummy store_build target to avoid errors from .mk callbacks during build |
|
189 store_build_target.target = store_build |
|
190 QMAKE_EXTRA_TARGETS += store_build_target |
|
191 } |
137 } |
192 } |
138 |
|
139 QMAKE_DISTCLEAN += $${sis_destdir}$${TARGET}.sis |
|