Back to home page

QT Cross Reference

 
 

    


0001 # Create the super cache so modules will add themselves to it.
0002 cache(, super)
0003 
0004 CONFIG += build_pass   # hack to disable the .qmake.super auto-add
0005 load(qt_build_config)
0006 
0007 TEMPLATE      = subdirs
0008 
0009 defineReplace(moduleName) {
0010     return(module_$$replace(1, -, _))
0011 }
0012 
0013 # Arguments: module name, [mandatory deps], [optional deps], [project file]
0014 defineTest(addModule) {
0015     contains(QT_SKIP_MODULES, $$1): return(false)
0016     mod = $$moduleName($$1)
0017 
0018     isEmpty(4) {
0019         !exists($$1/$${1}.pro): return(false)
0020         $${mod}.subdir = $$1
0021         export($${mod}.subdir)
0022     } else {
0023         !exists($$1/$${4}): return(false)
0024         $${mod}.file = $$1/$$4
0025         $${mod}.makefile = Makefile
0026         export($${mod}.file)
0027         export($${mod}.makefile)
0028     }
0029 
0030     for(d, 2) {
0031         dn = $$moduleName($$d)
0032         !contains(SUBDIRS, $$dn): \
0033             return(false)
0034         $${mod}.depends += $$dn
0035     }
0036     for(d, 3) {
0037         dn = $$moduleName($$d)
0038         contains(SUBDIRS, $$dn): \
0039             $${mod}.depends += $$dn
0040     }
0041     !isEmpty($${mod}.depends): \
0042         export($${mod}.depends)
0043 
0044     $${mod}.target = module-$$1
0045     export($${mod}.target)
0046 
0047     SUBDIRS += $$mod
0048     export(SUBDIRS)
0049     return(true)
0050 }
0051 
0052 # only qtbase is required to exist. The others may not - but it is the
0053 # users responsibility to ensure that all needed dependencies exist, or
0054 # it may not build.
0055 
0056 addModule(qtbase)
0057 addModule(qtandroidextras, qtbase)
0058 addModule(qtmacextras, qtbase)
0059 addModule(qtx11extras, qtbase)
0060 addModule(qlalr, qtbase)
0061 addModule(qtsvg, qtbase)
0062 addModule(qtxmlpatterns, qtbase)
0063 addModule(qtdeclarative, qtbase, qtsvg qtxmlpatterns)
0064 addModule(qtquickcontrols, qtdeclarative)
0065 addModule(qtmultimedia, qtdeclarative)
0066 addModule(qtwinextras, qtbase, qtdeclarative qtmultimedia)
0067 addModule(qtactiveqt, qtbase)
0068 addModule(qt3d, qtdeclarative)
0069 addModule(qtjsondb, qtdeclarative)
0070 addModule(qtsystems, qtbase, qtdeclarative)
0071 addModule(qtlocation, qtbase, qt3d qtsystems qtmultimedia)
0072 addModule(qtsensors, qtbase, qtdeclarative)
0073 addModule(qtconnectivity, qtbase, qtdeclarative)
0074 addModule(qtfeedback, qtdeclarative, qtmultimedia)
0075 addModule(qtpim, qtdeclarative, qtjsondb)
0076 addModule(qtwebkit, qtdeclarative, qtlocation qtmultimedia qtsensors, WebKit.pro)
0077 addModule(qttools, qtbase, qtdeclarative qtactiveqt qtwebkit)
0078 addModule(qtwebkit-examples, qtwebkit qttools)
0079 addModule(qtimageformats, qtbase)
0080 addModule(qtgraphicaleffects, qtdeclarative)
0081 addModule(qtscript, qtbase, qttools)
0082 addModule(qtquick1, qtscript, qtsvg qtxmlpatterns qtwebkit)
0083 addModule(qtdocgallery, qtdeclarative, qtjsondb)
0084 !win32:!mac:addModule(qtwayland, qtbase, qtdeclarative)
0085 addModule(qtserialport, qtbase)
0086 addModule(qtenginio, qtdeclarative)
0087 addModule(qttranslations, qttools)
0088 addModule(qtdoc, qtdeclarative)
0089 addModule(qtqa, qtbase)