1 # Create the super cache so modules will add themselves to it.
4 CONFIG += build_pass # hack to disable the .qmake.super auto-add
6 CONFIG -= build_pass # unhack, as it confuses Qt Creator
10 defineReplace(moduleName) {
11 return(module_$$replace(1, -, _))
14 # Arguments: module name, [mandatory deps], [optional deps], [project file]
15 defineTest(addModule) {
16 contains(QT_SKIP_MODULES, $$1): return(false)
17 !isEmpty(QT_BUILD_MODULES):!contains(QT_BUILD_MODULES, $$1): return(false)
18 mod = $$moduleName($$1)
21 !exists($$1/$${1}.pro): return(false)
23 export($${mod}.subdir)
25 !exists($$1/$${4}): return(false)
26 $${mod}.file = $$1/$$4
27 $${mod}.makefile = Makefile
29 export($${mod}.makefile)
33 dn = $$moduleName($$d)
34 !contains(SUBDIRS, $$dn): \
36 $${mod}.depends += $$dn
39 dn = $$moduleName($$d)
40 contains(SUBDIRS, $$dn): \
41 $${mod}.depends += $$dn
43 !isEmpty($${mod}.depends): \
44 export($${mod}.depends)
46 $${mod}.target = module-$$1
47 export($${mod}.target)
54 # only qtbase is required to exist. The others may not - but it is the
55 # users responsibility to ensure that all needed dependencies exist, or
59 android: ANDROID_EXTRAS = qtandroidextras
62 addModule(qtandroidextras, qtbase)
63 addModule(qtmacextras, qtbase)
64 addModule(qtx11extras, qtbase)
65 addModule(qtsvg, qtbase)
66 addModule(qtxmlpatterns, qtbase)
67 addModule(qtdeclarative, qtbase, qtsvg qtxmlpatterns)
68 addModule(qtgraphicaleffects, qtdeclarative)
69 addModule(qtquickcontrols, qtdeclarative, qtgraphicaleffects)
70 addModule(qtquickcontrols2, qtquickcontrols)
71 addModule(qtmultimedia, qtbase, qtdeclarative)
72 addModule(qtwinextras, qtbase, qtdeclarative qtmultimedia)
73 addModule(qtactiveqt, qtbase)
74 addModule(qtsystems, qtbase, qtdeclarative)
75 addModule(qtsensors, qtbase, qtdeclarative)
76 addModule(qtconnectivity, qtbase $$ANDROID_EXTRAS, qtdeclarative)
77 addModule(qtfeedback, qtdeclarative, qtmultimedia)
78 addModule(qtpim, qtdeclarative)
79 addModule(qtwebsockets, qtbase, qtdeclarative)
80 addModule(qtwebchannel, qtbase, qtdeclarative qtwebsockets)
81 addModule(qtserialport, qtbase)
82 addModule(qtlocation, qtbase, qtdeclarative qtquickcontrols qtserialport qtsystems)
83 addModule(qtwebkit, qtbase, qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns, WebKit.pro)
84 addModule(qttools, qtbase, qtdeclarative qtactiveqt qtwebkit)
85 addModule(qtwebkit-examples, qtwebkit qttools)
86 addModule(qtimageformats, qtbase)
87 addModule(qt3d, qtdeclarative qtimageformats)
88 addModule(qtcanvas3d, qtdeclarative)
89 addModule(qtscript, qtbase, qttools)
90 addModule(qtquick1, qtscript, qtsvg qtxmlpatterns)
91 addModule(qtdocgallery, qtdeclarative)
92 addModule(qtwayland, qtbase, qtdeclarative)
93 addModule(qtserialbus, qtserialport)
94 addModule(qtenginio, qtdeclarative)
95 addModule(qtwebengine, qtquickcontrols qtwebchannel, qtlocation)
96 addModule(qtwebview, qtdeclarative, qtwebengine)
97 addModule(qtpurchasing, qtbase, qtdeclarative)
98 addModule(qttranslations, qttools)
99 addModule(qtdoc, qtdeclarative)
100 addModule(qtqa, qtbase)