Added new settings button to set a fake current location ('work' in the first instance).
[ptas] / zouba / qt4-maemo5 / mkspecs / features / qt.prf
1 CONFIG *= moc thread
2
3 #handle defines
4 win32 {
5    qt_static:DEFINES += QT_NODLL
6    !contains(DEFINES, QT_NODLL) {
7       QT_ENV_DLL = $$(QT_DLL)
8       QT_ENV_NO_DLL = $$(QT_NODLL)
9       isEmpty(QT_ENV_NO_DLL) {
10           shared|!isEmpty(QT_ENV_DLL):DEFINES += QT_DLL
11       }
12       contains(DEFINES, QT_MAKEDLL)|contains(DEFINES, QT_DLL):QMAKE_QT_DLL = 1
13    }
14 }
15 CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG
16 no_keywords:DEFINES += QT_NO_KEYWORDS
17 plugin { #Qt plugins
18    static:DEFINES += QT_STATICPLUGIN
19    DEFINES += QT_PLUGIN
20
21    # Triggers both on Qt being configured with -arch boundschecker,
22    # and if you qmake CONFIG+=boundchecker on your plugin project
23    boundschecker|contains(QT_CONFIG,boundschecker) {
24       # This option is added for plugins when Qt is configured for Boundschecker,
25       # since we want Boundschecker to not instrument the qt_plugin_query_verification_data
26       # function, as we call that function without the plugin's dependent DLLs, thus
27       # Boundscheckers instrumentation will fail. The function only returns a const char *,
28       # so no instrumentation is really needed on that function anyways.
29       QMAKE_CFLAGS += /nmignore:*:qt_plugin_query_verification_data
30       QMAKE_CXXFLAGS += /nmignore:*:qt_plugin_query_verification_data
31    }
32 }
33
34 #handle includes
35 INCLUDEPATH = $$QMAKE_INCDIR_QT $$INCLUDEPATH #prepending prevents us from picking up "stale" includes
36 win32:INCLUDEPATH += $$QMAKE_INCDIR_QT/ActiveQt
37
38 # As order does matter for static libs, we reorder the QT variable here
39 TMPLIBS = maemo5 declarative webkit phonon multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
40 for(QTLIB, $$list($$TMPLIBS)) {
41    contains(QT, $$QTLIB): QT_ORDERED += $$QTLIB
42 }
43
44 QT_UNKNOWN = $$QT
45 QT_UNKNOWN -= $$QT_ORDERED
46 QT = $$QT_ORDERED
47 for(QTLIB, $$list($$QT_UNKNOWN)) {
48    !contains(TMPLIBS, $$QTLIB):message("Warning: unknown QT: $$QTLIB")
49 }
50
51 QT_PLUGIN_VERIFY = QTPLUGIN DEPLOYMENT_PLUGIN
52 for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) {
53     for(QTPLUG, $$list($$lower($$unique($$QT_CURRENT_VERIFY)))) {
54        qplugin_style =
55        !qt_debug:!qt_release {
56           CONFIG(debug, debug|release):qplugin_style = debug
57           else:qplugin_style = release
58        } else:CONFIG(qt_debug, qt_debug|qt_release) {
59           qplugin_style = debug
60        } else {
61           qplugin_style = release
62        }
63
64        # Check if the plugin is known to Qt. We can use this to determine
65        # the plugin path. Unknown plugins must rely on the default link path.
66        ACCESSIBLEPLUGINS = qtaccessiblewidgets qtaccessiblecompatwidgets
67        CODECPLUGINS = qcncodecs qjpcodecs qkrcodecs qtwcodecs
68        DECORATIONPLUGINS = qdecorationdefault qdecorationwindows
69        GFXDRIVERPLUGINS = qgfxvnc qscreenvfb qgfxsnap qgfxvga16 qgfxmatrox qgfxvoodoo qgfxtransformed qgfxshadowfb
70        IMAGEPLUGINS = qgif qmng qjpeg qsvg
71        INPUTPLUGINS = qimsw-multi
72        MOUSEDRIVERPLUGINS = qtslibmousehandler
73        SQLPLUGINS = qsqldb2 qsqloci qsqltds qsqlodbc qsqlpsql qsqlibase qsqlmysql qsqlite2 qsqlite
74        PHONONPLUGINS = phonon_waveout phonon_ds9
75
76        ALLQTPLUGINS = $$ACCESSIBLEPLUGINS $$CODECPLUGINS $$DECORATIONPLUGINS $$GFXDRIVERPLUGINS $$IMAGEPLUGINS $$INPUTPLUGINS $$MOUSEDRIVERPLUGINS $$SQLPLUGINS $$PHONONPLUGINS
77
78        QT_PLUGINPATH =
79        contains(ALLQTPLUGINS, $$QTPLUG) {
80            # Determine the plugin path
81            contains(ACCESSIBLEPLUGINS, $$QTPLUG): QT_PLUGINPATH = accessible
82            contains(CODECPLUGINS, $$QTPLUG): QT_PLUGINPATH = codecs
83            contains(DECORATIONPLUGINS, $$QTPLUG): QT_PLUGINPATH = decorations
84            contains(GFXDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = gfxdrivers
85            contains(IMAGEPLUGINS, $$QTPLUG): QT_PLUGINPATH = imageformats
86            contains(INPUTPLUGINS, $$QTPLUG): QT_PLUGINPATH = inputmethods
87            contains(MOUSEDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = mousedrivers
88            contains(SQLPLUGINS, $$QTPLUG):  QT_PLUGINPATH = sqldrivers
89            contains(PHONONPLUGINS, $$QTPLUG): QT_PLUGINPATH = phonon_backend
90         }
91
92         # Generate the plugin linker line
93         target_qt:isEqual(TARGET, QTPLUG) {
94             warning($$TARGET cannot have a QTPLUGIN of $$QTPLUG)
95         } else {
96             QT_LINKAGE = -l$${QTPLUG}
97             win32 {
98                CONFIG(debug, debug|release):QT_LINKAGE = -l$${QTPLUG}d
99             } else:mac {
100                isEqual(qplugin_style, debug):QT_LINKAGE = -l$${QTPLUG}_debug
101             }
102         }
103
104         # Only link against plugin in static builds
105         isEqual(QT_CURRENT_VERIFY, QTPLUGIN): {
106             !isEmpty(QT_PLUGINPATH): LIBS *= -L$$[QT_INSTALL_PLUGINS]/$$QT_PLUGINPATH
107                 LIBS += $$QT_LINKAGE
108             # if the plugin is linked statically there is no need to deploy it
109             DEPLOYMENT_PLUGIN -= $$QT_CURRENT_VERIFY
110         }
111         isEqual(QT_CURRENT_VERIFY, DEPLOYMENT_PLUGIN):shared:wince*: {
112             QT_ITEM =
113             CONFIG(debug, debug|release): QT_ITEM = $${QTPLUG}d4.dll
114             else: QT_ITEM = $${QTPLUG}4.dll
115
116             eval(qt_additional_plugin_$${QTPLUG}.sources = $$[QT_INSTALL_PLUGINS]/$${QT_PLUGINPATH}/$${QT_ITEM})
117             eval(qt_additional_plugin_$${QTPLUG}.path = $${QT_PLUGINPATH})
118
119             DEPLOYMENT *= qt_additional_plugin_$${QTPLUG}
120         }
121         isEqual(QT_CURRENT_VERIFY, DEPLOYMENT_PLUGIN):shared:symbian: {
122             QT_ITEM = $${QTPLUG}.dll
123
124             eval(qt_additional_plugin_$${QTPLUG}.sources = $${QT_ITEM})
125             eval(qt_additional_plugin_$${QTPLUG}.path = $${QT_PLUGINPATH})
126
127             DEPLOYMENT *= qt_additional_plugin_$${QTPLUG}
128         }
129     }
130 }
131 #specific module settings
132 !isEmpty(QT_BUILD_TREE):QMAKE_LIBDIR = $$QT_BUILD_TREE/lib $$QMAKE_LIBDIR #as above, prepending prevents us from picking up "stale" libs
133 QMAKE_LIBDIR += $$QMAKE_LIBDIR_QT
134 for(QTLIB, $$list($$lower($$unique(QT)))) {
135    unset(qlib_style)
136    !qt_debug:!qt_release {
137       CONFIG(debug, debug|release):qlib_style = debug
138       else:qlib_style = release
139    } else:CONFIG(qt_debug, qt_debug|qt_release) {
140       qlib_style = debug
141    } else {
142       qlib_style = release
143    }
144
145    unset(qlib)
146    isEqual(QTLIB, gui):qlib = QtGui
147    else:isEqual(QTLIB, network):qlib = QtNetwork
148    else:isEqual(QTLIB, xml):qlib = QtXml
149    else:isEqual(QTLIB, xmlpatterns):qlib = QtXmlPatterns
150    else:isEqual(QTLIB, opengl):qlib = QtOpenGL
151    else:isEqual(QTLIB, openvg):qlib = QtOpenVG
152    else:isEqual(QTLIB, sql):qlib = QtSql
153    else:isEqual(QTLIB, core):qlib = QtCore
154    else:isEqual(QTLIB, canvas):qlib = QtCanvas
155    else:isEqual(QTLIB, qt3support):qlib = Qt3Support
156    else:isEqual(QTLIB, svg):qlib = QtSvg
157    else:isEqual(QTLIB, script):qlib = QtScript
158    else:isEqual(QTLIB, scripttools):qlib = QtScriptTools
159    else:isEqual(QTLIB, testlib):qlib = QtTest
160    else:isEqual(QTLIB, dbus):qlib = QtDBus
161    else:isEqual(QTLIB, phonon) {
162        qlib = phonon
163        INCLUDEPATH += $$QMAKE_INCDIR_QT/phonon_compat
164
165        # The Helix backend requires this. Since we can't let a plugin set it,
166        # we bump the values for all Symbian Phonon plugins.
167        symbian:isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x040000 0x1600000
168
169    } else:isEqual(QTLIB, webkit):qlib = QtWebKit
170    else:isEqual(QTLIB, declarative):qlib = QtDeclarative
171    else:isEqual(QTLIB, multimedia):qlib = QtMultimedia
172    else:isEqual(QTLIB, maemo5):qlib = QtMaemo5
173    else:message("Unknown QT: $$QTLIB"):qlib =
174    !isEmpty(qlib) {
175       target_qt:isEqual(TARGET, qlib) {
176          warning($$TARGET cannot have a QT of $$QTLIB)
177       } else {
178          DEFINES *= $$upper(QT_$${QTLIB}_LIB)
179          isEqual(QTLIB, opengl):CONFIG += opengl
180          isEqual(QTLIB, openvg):CONFIG += openvg
181          isEqual(QTLIB, qt3support):DEFINES *= QT3_SUPPORT
182          isEqual(QTLIB, testlib):CONFIG += console
183          isEqual(QTLIB, dbus):CONFIG += dbusadaptors dbusinterfaces
184
185      qtAddLibrary($$qlib)
186       }
187    }
188 }
189
190 qt_compat {
191    !qt_compat_no_warning:QTDIR_build:warning(***USE of COMPAT inside of QTDIR!**) #just for us
192    INCLUDEPATH *= $$QMAKE_INCDIR_QT/Qt
193    DEFINES *= QT_COMPAT
194 }
195
196 wince*:static:gui {
197    QTLIB += qmenu_wce.res
198 }
199
200 !isEmpty(QT_NAMESPACE):DEFINES *= QT_NAMESPACE=$$QT_NAMESPACE
201 mac {
202     !isEmpty(QT_NAMESPACE_MAC_CRC):DEFINES *= QT_NAMESPACE_MAC_CRC=$$QT_NAMESPACE_MAC_CRC
203 }