9115167832f60debfe56cee150eb4488f6608f74
[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
7 TEMPLATE      = subdirs
8
9 defineReplace(moduleName) {
10     return(module_$$replace(1, -, _))
11 }
12
13 # Arguments: module name, [mandatory deps], [optional deps], [project file]
14 defineTest(addModule) {
15     contains(QT_SKIP_MODULES, $$1): return(false)
16     mod = $$moduleName($$1)
17
18     isEmpty(4) {
19         !exists($$1/$${1}.pro): return(false)
20         $${mod}.subdir = $$1
21         export($${mod}.subdir)
22     } else {
23         !exists($$1/$${4}): return(false)
24         $${mod}.file = $$1/$$4
25         $${mod}.makefile = Makefile
26         export($${mod}.file)
27         export($${mod}.makefile)
28     }
29
30     for(d, 2): \
31         $${mod}.depends += $$moduleName($$d)
32     for(d, 3) {
33         dn = $$moduleName($$d)
34         contains(SUBDIRS, $$dn): \
35             $${mod}.depends += $$dn
36     }
37     !isEmpty($${mod}.depends): \
38         export($${mod}.depends)
39
40     $${mod}.target = module-$$1
41     export($${mod}.target)
42
43     SUBDIRS += $$mod
44     export(SUBDIRS)
45     return(true)
46 }
47
48 # only qtbase is required to exist. The others may not - but it is the
49 # users responsibility to ensure that all needed dependencies exist, or
50 # it may not build.
51
52 addModule(qtbase)
53 addModule(qtsvg, qtbase)
54 addModule(qtxmlpatterns, qtbase)
55 addModule(qtjsbackend, qtbase)
56 addModule(qtdeclarative, qtjsbackend, qtsvg qtxmlpatterns)
57 addModule(qtmultimedia, qtbase, qtdeclarative)
58 addModule(qtactiveqt, qtbase)
59 addModule(qtwebkit, qtdeclarative, , WebKit.pro)
60 addModule(qttools, qtbase, qtdeclarative qtactiveqt qtwebkit)
61 addModule(qtwebkit-examples-and-demos, qtwebkit qttools)
62 addModule(qtimageformats, qtbase)
63 addModule(qtgraphicaleffects, qtdeclarative)
64 addModule(qtscript, qtbase)
65 addModule(qtquick1, qtscript, qtsvg qtxmlpatterns qtwebkit qttools)
66 addModule(qttranslations, qttools)
67 addModule(qtdoc, qtdeclarative)
68 addModule(qtqa, qtbase)