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 = webkit phonon dbus testlib script scripttools svg qt3support sql xmlpatterns xml opengl 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|os2 {
|
---|
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 | }
|
---|
122 | }
|
---|
123 | #specific module settings
|
---|
124 | !isEmpty(QT_BUILD_TREE):QMAKE_LIBDIR = $$QT_BUILD_TREE/lib $$QMAKE_LIBDIR #as above, prepending prevents us from picking up "stale" libs
|
---|
125 | QMAKE_LIBDIR += $$QMAKE_LIBDIR_QT
|
---|
126 | for(QTLIB, $$list($$lower($$unique(QT)))) {
|
---|
127 | unset(qlib_style)
|
---|
128 | !qt_debug:!qt_release {
|
---|
129 | CONFIG(debug, debug|release):qlib_style = debug
|
---|
130 | else:qlib_style = release
|
---|
131 | } else:CONFIG(qt_debug, qt_debug|qt_release) {
|
---|
132 | qlib_style = debug
|
---|
133 | } else {
|
---|
134 | qlib_style = release
|
---|
135 | }
|
---|
136 |
|
---|
137 | unset(qlib)
|
---|
138 | isEqual(QTLIB, gui):qlib = QtGui
|
---|
139 | else:isEqual(QTLIB, network):qlib = QtNetwork
|
---|
140 | else:isEqual(QTLIB, xml):qlib = QtXml
|
---|
141 | else:isEqual(QTLIB, xmlpatterns):qlib = QtXmlPatterns
|
---|
142 | else:isEqual(QTLIB, opengl):qlib = QtOpenGL
|
---|
143 | else:isEqual(QTLIB, sql):qlib = QtSql
|
---|
144 | else:isEqual(QTLIB, core):qlib = QtCore
|
---|
145 | else:isEqual(QTLIB, canvas):qlib = QtCanvas
|
---|
146 | else:isEqual(QTLIB, qt3support):qlib = Qt3Support
|
---|
147 | else:isEqual(QTLIB, svg):qlib = QtSvg
|
---|
148 | else:isEqual(QTLIB, script):qlib = QtScript
|
---|
149 | else:isEqual(QTLIB, scripttools):qlib = QtScriptTools
|
---|
150 | else:isEqual(QTLIB, testlib):qlib = QtTest
|
---|
151 | else:isEqual(QTLIB, dbus):qlib = QtDBus
|
---|
152 | else:isEqual(QTLIB, phonon):qlib = phonon
|
---|
153 | else:isEqual(QTLIB, webkit):qlib = QtWebKit
|
---|
154 | else:message("Unknown QT: $$QTLIB"):qlib =
|
---|
155 | !isEmpty(qlib) {
|
---|
156 | target_qt:isEqual(TARGET, qlib) {
|
---|
157 | warning($$TARGET cannot have a QT of $$QTLIB)
|
---|
158 | } else {
|
---|
159 | DEFINES *= $$upper(QT_$${QTLIB}_LIB)
|
---|
160 | isEqual(QTLIB, opengl):CONFIG += opengl
|
---|
161 | isEqual(QTLIB, qt3support):DEFINES *= QT3_SUPPORT
|
---|
162 | isEqual(QTLIB, testlib):CONFIG += console
|
---|
163 | isEqual(QTLIB, dbus):CONFIG += dbusadaptors dbusinterfaces
|
---|
164 |
|
---|
165 | qtAddLibrary($$qlib)
|
---|
166 | }
|
---|
167 | }
|
---|
168 | }
|
---|
169 |
|
---|
170 | qt_compat {
|
---|
171 | !qt_compat_no_warning:QTDIR_build:warning(***USE of COMPAT inside of QTDIR!**) #just for us
|
---|
172 | INCLUDEPATH *= $$QMAKE_INCDIR_QT/Qt
|
---|
173 | DEFINES *= QT_COMPAT
|
---|
174 | }
|
---|
175 |
|
---|
176 | wince*:static:gui {
|
---|
177 | QTLIB += qmenu_wce.res
|
---|
178 | }
|
---|
179 |
|
---|
180 | !isEmpty(QT_NAMESPACE):DEFINES *= QT_NAMESPACE=$$QT_NAMESPACE
|
---|
181 | mac {
|
---|
182 | !isEmpty(QT_NAMESPACE_MAC_CRC):DEFINES *= QT_NAMESPACE_MAC_CRC=$$QT_NAMESPACE_MAC_CRC
|
---|
183 | }
|
---|