summaryrefslogtreecommitdiffstats
path: root/src/src.pro
blob: 91cd6d4558b4af39c7cae1cce7a104910d346d79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
TEMPLATE = subdirs

QT_FOR_CONFIG += core-private gui-private printsupport

include($$OUT_PWD/corelib/qtcore-config.pri)
include($$OUT_PWD/gui/qtgui-config.pri)
include($$OUT_PWD/printsupport/qtprintsupport-config.pri)

force_bootstrap|!qtConfig(commandlineparser): \
    CONFIG += force_dbus_bootstrap

src_qtzlib.file = $$PWD/corelib/qtzlib.pro
src_qtzlib.target = sub-zlib

src_tools_bootstrap.subdir = tools/bootstrap
src_tools_bootstrap.target = sub-bootstrap

src_tools_moc.subdir = tools/moc
src_tools_moc.target = sub-moc
src_tools_moc.depends = src_tools_bootstrap

src_tools_rcc.subdir = tools/rcc
src_tools_rcc.target = sub-rcc
src_tools_rcc.depends = src_tools_bootstrap

src_tools_qlalr.subdir = tools/qlalr
src_tools_qlalr.target = sub-qlalr
force_bootstrap: src_tools_qlalr.depends = src_tools_bootstrap
else: src_tools_qlalr.depends = src_corelib

src_tools_tracegen.subdir = tools/tracegen
src_tools_tracegen.target = sub-tracegen
src_tools_tracegen.depends = src_tools_bootstrap

src_tools_uic.subdir = tools/uic
src_tools_uic.target = sub-uic
force_bootstrap: src_tools_uic.depends = src_tools_bootstrap
else: src_tools_uic.depends = src_corelib

src_tools_bootstrap_dbus.subdir = tools/bootstrap-dbus
src_tools_bootstrap_dbus.target = sub-bootstrap_dbus
src_tools_bootstrap_dbus.depends = src_tools_bootstrap

src_tools_qdbusxml2cpp.subdir = tools/qdbusxml2cpp
src_tools_qdbusxml2cpp.target = sub-qdbusxml2cpp
force_dbus_bootstrap: src_tools_qdbusxml2cpp.depends = src_tools_bootstrap_dbus
else: src_tools_qdbusxml2cpp.depends = src_dbus

src_tools_qdbuscpp2xml.subdir = tools/qdbuscpp2xml
src_tools_qdbuscpp2xml.target = sub-qdbuscpp2xml
force_bootstrap: src_tools_qdbuscpp2xml.depends = src_tools_bootstrap_dbus
else: src_tools_qdbuscpp2xml.depends = src_dbus

src_tools_androiddeployqt.subdir = tools/androiddeployqt
src_tools_androiddeployqt.target = sub-androiddeployqt
src_tools_androiddeployqt.depends = src_corelib

src_tools_androidtestrunner.subdir = tools/androidtestrunner
src_tools_androidtestrunner.target = sub-androidtestrunner
src_tools_androidtestrunner.depends = src_corelib

src_tools_qvkgen.subdir = tools/qvkgen
src_tools_qvkgen.target = sub-qvkgen
force_bootstrap: src_tools_qvkgen.depends = src_tools_bootstrap
else: src_tools_qvkgen.depends = src_corelib

src_winmain.subdir = $$PWD/winmain
src_winmain.target = sub-winmain
src_winmain.depends = sub-corelib  # just for the module .pri file

src_corelib.subdir = $$PWD/corelib
src_corelib.target = sub-corelib
src_corelib.depends = src_tools_moc src_tools_tracegen

src_xml.subdir = $$PWD/xml
src_xml.target = sub-xml
src_xml.depends = src_corelib

src_dbus.subdir = $$PWD/dbus
src_dbus.target = sub-dbus
src_dbus.depends = src_corelib
force_dbus_bootstrap: src_dbus.depends += src_tools_bootstrap_dbus  # avoid syncqt race

src_concurrent.subdir = $$PWD/concurrent
src_concurrent.target = sub-concurrent
src_concurrent.depends = src_corelib

src_sql.subdir = $$PWD/sql
src_sql.target = sub-sql
src_sql.depends = src_corelib

src_network.subdir = $$PWD/network
src_network.target = sub-network
src_network.depends = src_corelib

src_testlib.subdir = $$PWD/testlib
src_testlib.target = sub-testlib
src_testlib.depends = src_corelib   # testlib links only to corelib, but see below for the headers

src_3rdparty_pcre2.subdir = $$PWD/3rdparty/pcre2
src_3rdparty_pcre2.target = sub-3rdparty-pcre2

src_3rdparty_harfbuzzng.subdir = $$PWD/3rdparty/harfbuzz-ng
src_3rdparty_harfbuzzng.target = sub-3rdparty-harfbuzzng
src_3rdparty_harfbuzzng.depends = src_corelib   # for the Qt atomics

src_3rdparty_libpng.subdir = $$PWD/3rdparty/libpng
src_3rdparty_libpng.target = sub-3rdparty-libpng

src_3rdparty_freetype.subdir = $$PWD/3rdparty/freetype
src_3rdparty_freetype.target = sub-3rdparty-freetype

src_3rdparty_gradle.subdir = $$PWD/3rdparty/gradle
src_3rdparty_gradle.target = sub-3rdparty-gradle

src_gui.subdir = $$PWD/gui
src_gui.target = sub-gui
src_gui.depends = src_corelib src_tools_rcc

src_platformsupport.subdir = $$PWD/platformsupport
src_platformsupport.target = sub-platformsupport
src_platformsupport.depends = src_corelib src_gui

src_widgets.subdir = $$PWD/widgets
src_widgets.target = sub-widgets
src_widgets.depends = src_corelib src_gui src_tools_uic

src_opengl.subdir = $$PWD/opengl
src_opengl.target = sub-opengl
src_opengl.depends = src_gui

src_openglwidgets.subdir = $$PWD/openglwidgets
src_openglwidgets.target = sub-openglwidgets
src_openglwidgets.depends = src_opengl src_widgets

src_printsupport.subdir = $$PWD/printsupport
src_printsupport.target = sub-printsupport
src_printsupport.depends = src_corelib src_gui src_widgets src_tools_uic

src_plugins.subdir = $$PWD/plugins
src_plugins.target = sub-plugins

src_android.subdir = $$PWD/android

# this order is important
!qtConfig(system-zlib)|cross_compile {
    SUBDIRS += src_qtzlib
    !qtConfig(system-zlib) {
        src_3rdparty_libpng.depends += src_corelib
        src_3rdparty_freetype.depends += src_corelib
    }
}
SUBDIRS += src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_tracegen
qtConfig(regularexpression):!qtConfig(system-pcre2):pcre2 {
    SUBDIRS += src_3rdparty_pcre2
    src_corelib.depends += src_3rdparty_pcre2
}
TOOLS = src_tools_moc src_tools_rcc src_tools_tracegen src_tools_qlalr
SUBDIRS += src_corelib src_tools_qlalr
win32:SUBDIRS += src_winmain
qtConfig(network) {
    SUBDIRS += src_network
    src_plugins.depends += src_network
    android: SUBDIRS += network/android/jar
}
qtConfig(sql) {
    SUBDIRS += src_sql
    src_plugins.depends += src_sql
}
qtConfig(xml): SUBDIRS += src_xml
qtConfig(testlib): SUBDIRS += src_testlib

qtConfig(dbus) {
    force_dbus_bootstrap|qtConfig(private_tests): \
        SUBDIRS += src_tools_bootstrap_dbus
    SUBDIRS += src_dbus src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml
    TOOLS += src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml
    qtConfig(accessibility-atspi-bridge): \
        src_platformsupport.depends += src_dbus src_tools_qdbusxml2cpp
    src_plugins.depends += src_dbus src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml
    src_gui.depends += src_dbus src_tools_qdbusxml2cpp
}

android {
    SUBDIRS += src_tools_androiddeployqt \
               src_tools_androidtestrunner
    TOOLS += src_tools_androiddeployqt \
             src_tools_androidtestrunner
}

qtConfig(concurrent): SUBDIRS += src_concurrent
qtConfig(gui) {
    qtConfig(harfbuzz):!qtConfig(system-harfbuzz) {
        SUBDIRS += src_3rdparty_harfbuzzng
        src_gui.depends += src_3rdparty_harfbuzzng
    }
    qtConfig(png):!qtConfig(system-png) {
        SUBDIRS += src_3rdparty_libpng
        src_3rdparty_freetype.depends += src_3rdparty_libpng
        src_gui.depends += src_3rdparty_libpng
    }
    qtConfig(freetype):!qtConfig(system-freetype) {
        SUBDIRS += src_3rdparty_freetype
        src_gui.depends += src_3rdparty_freetype
    }
    qtConfig(vkgen) {
        SUBDIRS += src_tools_qvkgen
        src_gui.depends += src_tools_qvkgen
        TOOLS += src_tools_qvkgen
    }
    SUBDIRS += src_gui src_platformsupport
    qtConfig(opengl) {
        SUBDIRS += src_opengl
        src_plugins.depends += src_opengl
        src_platformsupport.depends += src_opengl
    }
    src_plugins.depends += src_gui src_platformsupport
    src_testlib.depends += src_gui      # if QtGui is enabled, QtTest requires QtGui's headers
    qtConfig(widgets) {
        SUBDIRS += src_tools_uic src_widgets
        TOOLS += src_tools_uic
        src_plugins.depends += src_widgets
        src_testlib.depends += src_widgets        # if QtWidgets is enabled, QtTest requires QtWidgets's headers
        qtConfig(printer) {
            SUBDIRS += src_printsupport
            src_plugins.depends += src_printsupport
        }
        qtConfig(opengl): SUBDIRS += src_openglwidgets
    }
}
SUBDIRS += src_plugins

nacl: SUBDIRS -= src_network src_testlib

android:!android-embedded: SUBDIRS += src_android src_3rdparty_gradle

qtConfig(private_tests) {
     qtConfig(network):qtConfig(gui) {
        src_network_doc_snippets.subdir = network/doc/snippets
        src_network_doc_snippets.target = sub-network-doc-snippets
        src_network_doc_snippets.depends = src_network src_gui
        SUBDIRS += src_network_doc_snippets
    }

    qtConfig(sql) {
        src_sql_doc_snippets.subdir = sql/doc/snippets
        src_sql_doc_snippets.target = sub-sql-doc-snippets
        src_sql_doc_snippets.depends = src_sql
        SUBDIRS += src_sql_doc_snippets
    }

    qtConfig(testlib):qtConfig(widgets):qtConfig(sql) {
        src_testlib_doc_snippets.subdir = testlib/doc/snippets
        src_testlib_doc_snippets.target = sub-testlib-doc-snippets
        src_testlib_doc_snippets.depends = src_testlib src_widgets src_sql
        SUBDIRS += src_testlib_doc_snippets
    }

    qtConfig(widgets):qtConfig(printer):qtConfig(opengl) {
        src_widgets_doc_snippets.subdir = widgets/doc/snippets
        src_widgets_doc_snippets.target = sub-widgets-doc-snippets
        src_widgets_doc_snippets.depends = src_widgets src_printsupport src_opengl
        SUBDIRS += src_widgets_doc_snippets
    }
}

TR_EXCLUDE = \
    src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_uic src_tools_qlalr \
    src_tools_bootstrap_dbus src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml \
    src_3rdparty_pcre2 src_3rdparty_harfbuzzng src_3rdparty_freetype \
    src_tools_tracegen

sub-tools.depends = $$TOOLS
QMAKE_EXTRA_TARGETS = sub-tools