Merge remote-tracking branch 'qt/4.8'
[qt:qt.git] / src / s60installs / s60installs.pro
1 # Use subdirs template to suppress generation of unnecessary files
2 TEMPLATE = subdirs
3
4 symbian: {
5     load(data_caging_paths)
6
7     SUBDIRS=
8     # WARNING: Changing TARGET name will break Symbian SISX upgrade functionality
9     # DO NOT TOUCH TARGET VARIABLE IF YOU ARE NOT SURE WHAT YOU ARE DOING
10     TARGET = "Qt$${QT_LIBINFIX}"
11
12     isEmpty(QT_LIBINFIX) {
13         TARGET.UID3 = 0x2001E61C
14     } else {
15         # Always use experimental UID for infixed configuration to avoid UID clash
16         TARGET.UID3 = 0xE001E61C
17     }
18     VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
19
20     DESTDIR = $$QMAKE_LIBDIR_QT
21
22     qtlibraries.files = \
23         $$QMAKE_LIBDIR_QT/QtCore$${QT_LIBINFIX}.dll \
24         $$QMAKE_LIBDIR_QT/QtXml$${QT_LIBINFIX}.dll \
25         $$QMAKE_LIBDIR_QT/QtGui$${QT_LIBINFIX}.dll \
26         $$QMAKE_LIBDIR_QT/QtNetwork$${QT_LIBINFIX}.dll \
27         $$QMAKE_LIBDIR_QT/QtTest$${QT_LIBINFIX}.dll \
28         $$QMAKE_LIBDIR_QT/QtSql$${QT_LIBINFIX}.dll
29
30     # Symbian exports do not like absolute paths, so generate a relative path to original .pro file dir
31     S60_INSTALLS_SOURCE_DIR = $$relativeProPath()
32
33     symbian-abld|symbian-sbsv2 {
34         pluginLocations = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)
35         bearerPluginLocation = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)
36         bearerStubZ = $${EPOCROOT}$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin
37     } else {
38         pluginLocations = $$QT_BUILD_TREE/plugins/s60
39         bearerPluginLocation = $$QT_BUILD_TREE/plugins/bearer
40         bearerStubZ = $${PWD}/qsymbianbearer.qtplugin
41     }
42
43     contains(S60_VERSION, 5.0) {
44         qts60plugindeployment = \
45             "IF package(0x2003A678) OR package(0x20022E6D)" \
46             "   \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
47             "ELSEIF package(0x1028315F)" \
48             "   \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}_3_2.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
49             "ELSE" \
50             "   \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
51             "ENDIF" \
52             "   \"$$bearerStubZ\" - \"c:$$replace(QT_PLUGINS_BASE_DIR,/,\\)\\bearer\\qsymbianbearer$${QT_LIBINFIX}.qtplugin\""
53         qtlibraries.pkg_postrules += qts60plugindeployment
54         BLD_INF_RULES.prj_exports += \
55             "$$S60_INSTALLS_SOURCE_DIR/qsymbianbearer.qtplugin /$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin" \
56             "$$S60_INSTALLS_SOURCE_DIR/qsymbianbearer.qtplugin /epoc32/winscw/c$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin"
57     } else {
58         # No need to deploy plugins for older platform versions when building on Symbian3 or later
59         bearer_plugin.files = $$QT_BUILD_TREE/plugins/bearer/qsymbianbearer$${QT_LIBINFIX}.dll
60         bearer_plugin.path = c:$$QT_PLUGINS_BASE_DIR/bearer
61         DEPLOYMENT += bearer_plugin
62     }
63
64     qtlibraries.path = c:/sys/bin
65
66     vendorinfo = \
67         "; Localised Vendor name" \
68         "%{\"Nokia\"}" \
69         " " \
70         "; Unique Vendor name" \
71         ":\"Nokia, Qt\"" \
72         " "
73
74
75     qtlibraries.pkg_prerules = vendorinfo
76     qtlibraries.pkg_prerules += "; Dependencies of Qt libraries"
77
78     # It is expected that Symbian^3 and newer phones will have sufficiently new OpenC already installed
79     contains(S60_VERSION, 5.0) {
80         qtlibraries.pkg_prerules += "(0x20013851), 1, 5, 1, {\"PIPS Installer\"}"
81         contains(QT_CONFIG, openssl) | contains(QT_CONFIG, openssl-linked) {
82             qtlibraries.pkg_prerules += "(0x200110CB), 1, 5, 1, {\"Open C LIBSSL Common\"}"
83         }
84         contains(CONFIG, stl) {
85             qtlibraries.pkg_prerules += "(0x2000F866), 1, 0, 0, {\"Standard C++ Library Common\"}"
86         }
87     }
88     qtlibraries.pkg_prerules += "(0x2002af5f), 0, 5, 0, {\"sqlite3\"}"
89
90     !contains(QT_CONFIG, no-jpeg): imageformats_plugins.files += $$QT_BUILD_TREE/plugins/imageformats/qjpeg$${QT_LIBINFIX}.dll
91     !contains(QT_CONFIG, no-gif):  imageformats_plugins.files += $$QT_BUILD_TREE/plugins/imageformats/qgif$${QT_LIBINFIX}.dll
92     !contains(QT_CONFIG, no-mng):  imageformats_plugins.files += $$QT_BUILD_TREE/plugins/imageformats/qmng$${QT_LIBINFIX}.dll
93     !contains(QT_CONFIG, no-tiff): imageformats_plugins.files += $$QT_BUILD_TREE/plugins/imageformats/qtiff$${QT_LIBINFIX}.dll
94     !contains(QT_CONFIG, no-ico):  imageformats_plugins.files += $$QT_BUILD_TREE/plugins/imageformats/qico$${QT_LIBINFIX}.dll
95     imageformats_plugins.path = c:$$QT_PLUGINS_BASE_DIR/imageformats
96
97     codecs_plugins.files = $$QT_BUILD_TREE/plugins/codecs/qcncodecs$${QT_LIBINFIX}.dll $$QT_BUILD_TREE/plugins/codecs/qjpcodecs$${QT_LIBINFIX}.dll $$QT_BUILD_TREE/plugins/codecs/qtwcodecs$${QT_LIBINFIX}.dll $$QT_BUILD_TREE/plugins/codecs/qkrcodecs$${QT_LIBINFIX}.dll
98     codecs_plugins.path = c:$$QT_PLUGINS_BASE_DIR/codecs
99
100     contains(QT_CONFIG, phonon-backend) {
101         phonon_backend_plugins.files += $$QT_BUILD_TREE/plugins/phonon_backend/phonon_mmf$${QT_LIBINFIX}.dll
102
103         phonon_backend_plugins.path = c:$$QT_PLUGINS_BASE_DIR/phonon_backend
104         DEPLOYMENT += phonon_backend_plugins
105     }
106
107     # Support backup & restore for Qt libraries
108     qtbackup.files = backup_registration.xml
109     qtbackup.path = c:/private/10202d56/import/packages/$$lower($$replace(TARGET.UID3, 0x,))
110
111     DEPLOYMENT += qtlibraries \
112                   qtbackup \
113                   imageformats_plugins \
114                   codecs_plugins \
115                   graphicssystems_plugins
116
117     contains(QT_CONFIG, svg): {
118        qtlibraries.files += $$QMAKE_LIBDIR_QT/QtSvg$${QT_LIBINFIX}.dll
119        imageformats_plugins.files += $$QT_BUILD_TREE/plugins/imageformats/qsvg$${QT_LIBINFIX}.dll
120        iconengines_plugins.files = $$QT_BUILD_TREE/plugins/iconengines/qsvgicon$${QT_LIBINFIX}.dll
121        iconengines_plugins.path = c:$$QT_PLUGINS_BASE_DIR/iconengines
122        DEPLOYMENT += iconengines_plugins
123     }
124
125     contains(QT_CONFIG, phonon): {
126        qtlibraries.files += $$QMAKE_LIBDIR_QT/phonon$${QT_LIBINFIX}.dll
127     }
128
129     contains(QT_CONFIG, script): {
130         qtlibraries.files += $$QMAKE_LIBDIR_QT/QtScript$${QT_LIBINFIX}.dll
131     }
132
133     contains(QT_CONFIG, xmlpatterns): {
134        qtlibraries.files += $$QMAKE_LIBDIR_QT/QtXmlPatterns$${QT_LIBINFIX}.dll
135     }
136
137     contains(QT_CONFIG, declarative): {
138         qtlibraries.files += $$QMAKE_LIBDIR_QT/QtDeclarative$${QT_LIBINFIX}.dll
139
140         folderlistmodelImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/folderlistmodel/qmlfolderlistmodelplugin$${QT_LIBINFIX}.dll
141         gesturesImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/gestures/qmlgesturesplugin$${QT_LIBINFIX}.dll
142         particlesImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/particles/qmlparticlesplugin$${QT_LIBINFIX}.dll
143
144         folderlistmodelImport.sources += $$QT_SOURCE_TREE/src/imports/folderlistmodel/qmldir
145         gesturesImport.sources += $$QT_SOURCE_TREE/src/imports/gestures/qmldir
146         particlesImport.sources += $$QT_SOURCE_TREE/src/imports/particles/qmldir
147
148         folderlistmodelImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/folderlistmodel
149         gesturesImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/gestures
150         particlesImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/particles
151
152         DEPLOYMENT += folderlistmodelImport gesturesImport particlesImport
153
154         contains(QT_CONFIG, opengl) {
155             shadersImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/shaders/qmlshadersplugin$${QT_LIBINFIX}.dll \
156                                     $$QT_SOURCE_TREE/src/imports/shaders/qmldir
157             shadersImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/shaders
158             DEPLOYMENT += shadersImport
159         }
160     }
161
162     graphicssystems_plugins.path = c:$$QT_PLUGINS_BASE_DIR/graphicssystems
163     contains(QT_CONFIG, openvg) {
164         qtlibraries.files += $$QMAKE_LIBDIR_QT/QtOpenVG$${QT_LIBINFIX}.dll
165         graphicssystems_plugins.files += $$QT_BUILD_TREE/plugins/graphicssystems/qvggraphicssystem$${QT_LIBINFIX}.dll
166     }
167
168     contains(QT_CONFIG, opengl) {
169         qtlibraries.files += $$QMAKE_LIBDIR_QT/QtOpenGL$${QT_LIBINFIX}.dll
170         graphicssystems_plugins.files += $$QT_BUILD_TREE/plugins/graphicssystems/qglgraphicssystem$${QT_LIBINFIX}.dll
171     }
172
173     contains(QT_CONFIG, multimedia){
174         qtlibraries.files += $$QMAKE_LIBDIR_QT/QtMultimedia$${QT_LIBINFIX}.dll
175     }
176
177     BLD_INF_RULES.prj_exports += "$$S60_INSTALLS_SOURCE_DIR/qt.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(qt.iby)"
178     BLD_INF_RULES.prj_exports += "$$S60_INSTALLS_SOURCE_DIR/qt_resources.iby $$LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(qt_resources.iby)"
179 }