mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-01 19:36:04 +08:00
this allows for easy cloning and build system maintenance also for modules which are currently irrelevant, thus hopefully keeping the barrier to their revival low. it does not affect the casual developer or the CI system, as init-repository will not clone these modules. This (abstractly) reverts commits41c3f2cb5f,725a51b1d8and1117d4da2c. Change-Id: Iabc750642fc1c163f3ebc96cf6edaa9b04378094 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
80 lines
2.4 KiB
Prolog
80 lines
2.4 KiB
Prolog
# Create the super cache so modules will add themselves to it.
|
|
cache(, super)
|
|
|
|
CONFIG += build_pass # hack to disable the .qmake.super auto-add
|
|
load(qt_build_config)
|
|
|
|
TEMPLATE = subdirs
|
|
|
|
defineReplace(moduleName) {
|
|
return(module_$$replace(1, -, _))
|
|
}
|
|
|
|
# Arguments: module name, [mandatory deps], [optional deps], [project file]
|
|
defineTest(addModule) {
|
|
contains(QT_SKIP_MODULES, $$1): return(false)
|
|
mod = $$moduleName($$1)
|
|
|
|
isEmpty(4) {
|
|
!exists($$1/$${1}.pro): return(false)
|
|
$${mod}.subdir = $$1
|
|
export($${mod}.subdir)
|
|
} else {
|
|
!exists($$1/$${4}): return(false)
|
|
$${mod}.file = $$1/$$4
|
|
$${mod}.makefile = Makefile
|
|
export($${mod}.file)
|
|
export($${mod}.makefile)
|
|
}
|
|
|
|
for(d, 2): \
|
|
$${mod}.depends += $$moduleName($$d)
|
|
for(d, 3) {
|
|
dn = $$moduleName($$d)
|
|
contains(SUBDIRS, $$dn): \
|
|
$${mod}.depends += $$dn
|
|
}
|
|
!isEmpty($${mod}.depends): \
|
|
export($${mod}.depends)
|
|
|
|
$${mod}.target = module-$$1
|
|
export($${mod}.target)
|
|
|
|
SUBDIRS += $$mod
|
|
export(SUBDIRS)
|
|
return(true)
|
|
}
|
|
|
|
# only qtbase is required to exist. The others may not - but it is the
|
|
# users responsibility to ensure that all needed dependencies exist, or
|
|
# it may not build.
|
|
|
|
addModule(qtbase)
|
|
addModule(qlalr, qtbase)
|
|
addModule(qtsvg, qtbase)
|
|
addModule(qtxmlpatterns, qtbase)
|
|
addModule(qtjsbackend, qtbase)
|
|
addModule(qtdeclarative, qtjsbackend, qtsvg qtxmlpatterns)
|
|
addModule(qtmultimedia, qtdeclarative)
|
|
addModule(qtactiveqt, qtbase)
|
|
addModule(qt3d, qtdeclarative)
|
|
addModule(qtjsondb, qtdeclarative)
|
|
addModule(qtsystems, qtbase, qtdeclarative qtjsondb)
|
|
addModule(qtlocation, qtbase, qt3d qtjsondb qtsystems qtmultimedia)
|
|
addModule(qtsensors, qtbase, qtdeclarative)
|
|
addModule(qtconnectivity, qtsystems)
|
|
addModule(qtfeedback, qtdeclarative, qtmultimedia)
|
|
addModule(qtpim, qtdeclarative, qtjsondb)
|
|
addModule(qtwebkit, qtdeclarative, qtlocation qtsensors, WebKit.pro)
|
|
addModule(qttools, qtbase, qtdeclarative qtactiveqt qtwebkit)
|
|
addModule(qtwebkit-examples-and-demos, qtwebkit qttools)
|
|
addModule(qtimageformats, qtbase)
|
|
addModule(qtgraphicaleffects, qtdeclarative)
|
|
addModule(qtscript, qtbase)
|
|
addModule(qtquick1, qtscript, qtsvg qtxmlpatterns qtwebkit qttools)
|
|
addModule(qtdocgallery, qtdeclarative, qtjsondb)
|
|
!win32:!mac:addModule(qtwayland, qtbase, qtdeclarative)
|
|
addModule(qttranslations, qttools)
|
|
addModule(qtdoc, qtdeclarative)
|
|
addModule(qtqa, qtbase)
|