Add qtdeclarative as optional dependency for qtlocation
[mirror/qt/qt5.git] / qt.pro
1 # Create the super cache so modules will add themselves to it.
2 cache(, super)
3
4 CONFIG += build_pass   # hack to disable the .qmake.super auto-add
5 load(qt_build_config)
6 CONFIG -= build_pass   # unhack, as it confuses Qt Creator
7
8 TEMPLATE      = subdirs
9
10 defineReplace(moduleName) {
11     return(module_$$replace(1, -, _))
12 }
13
14 # Arguments: module name, [mandatory deps], [optional deps], [project file]
15 defineTest(addModule) {
16     contains(QT_SKIP_MODULES, $$1): return(false)
17     mod = $$moduleName($$1)
18
19     isEmpty(4) {
20         !exists($$1/$${1}.pro): return(false)
21         $${mod}.subdir = $$1
22         export($${mod}.subdir)
23     } else {
24         !exists($$1/$${4}): return(false)
25         $${mod}.file = $$1/$$4
26         $${mod}.makefile = Makefile
27         export($${mod}.file)
28         export($${mod}.makefile)
29     }
30
31     for(d, 2) {
32         dn = $$moduleName($$d)
33         !contains(SUBDIRS, $$dn): \
34             return(false)
35         $${mod}.depends += $$dn
36     }
37     for(d, 3) {
38         dn = $$moduleName($$d)
39         contains(SUBDIRS, $$dn): \
40             $${mod}.depends += $$dn
41     }
42     !isEmpty($${mod}.depends): \
43         export($${mod}.depends)
44
45     $${mod}.target = module-$$1
46     export($${mod}.target)
47
48     SUBDIRS += $$mod
49     export(SUBDIRS)
50     return(true)
51 }
52
53 # only qtbase is required to exist. The others may not - but it is the
54 # users responsibility to ensure that all needed dependencies exist, or
55 # it may not build.
56
57 ANDROID_EXTRAS =
58 android: ANDROID_EXTRAS = qtandroidextras
59
60 addModule(qtbase)
61 addModule(qtandroidextras, qtbase)
62 addModule(qtmacextras, qtbase)
63 addModule(qtx11extras, qtbase)
64 addModule(qtsvg, qtbase)
65 addModule(qtxmlpatterns, qtbase)
66 addModule(qtdeclarative, qtbase, qtsvg qtxmlpatterns)
67 addModule(qtquickcontrols, qtdeclarative)
68 addModule(qtmultimedia, qtbase, qtdeclarative)
69 addModule(qtwinextras, qtbase, qtdeclarative qtmultimedia)
70 addModule(qtactiveqt, qtbase)
71 addModule(qtsystems, qtbase, qtdeclarative)
72 addModule(qtlocation, qtbase, qtdeclarative qtsystems)
73 addModule(qtsensors, qtbase, qtdeclarative)
74 addModule(qtconnectivity, qtbase $$ANDROID_EXTRAS, qtdeclarative)
75 addModule(qtfeedback, qtdeclarative, qtmultimedia)
76 addModule(qtpim, qtdeclarative)
77 addModule(qtwebsockets, qtbase, qtdeclarative)
78 addModule(qtwebchannel, qtbase, qtdeclarative qtwebsockets)
79 addModule(qtwebkit, qtdeclarative, qtlocation qtmultimedia qtsensors qtwebchannel, WebKit.pro)
80 addModule(qttools, qtbase, qtdeclarative qtactiveqt qtwebkit)
81 addModule(qtwebkit-examples, qtwebkit qttools)
82 addModule(qtimageformats, qtbase)
83 addModule(qt3d, qtdeclarative qtimageformats)
84 addModule(qtcanvas3d, qtdeclarative)
85 addModule(qtgraphicaleffects, qtdeclarative)
86 addModule(qtscript, qtbase, qttools)
87 addModule(qtquick1, qtscript, qtsvg qtxmlpatterns qtwebkit)
88 addModule(qtdocgallery, qtdeclarative)
89 linux:!android: addModule(qtwayland, qtbase, qtdeclarative)
90 addModule(qtserialport, qtbase)
91 addModule(qtenginio, qtdeclarative)
92 addModule(qtwebengine, qtquickcontrols qtwebchannel, qtwebkit qtlocation)
93 addModule(qttranslations, qttools)
94 addModule(qtdoc, qtdeclarative)
95 addModule(qtqa, qtbase)