Files
qt5/qt.pro
Oswald Buddenhagen aeed8ce504 semi-automate adding submodules
this way adding a module actually becomes a one-liner

Change-Id: Ie31039d36e948094c3ec241758eaab330304b194
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-02-20 22:55:09 +01:00

67 lines
1.8 KiB
Prolog

# Create the super cache so modules will add themselves to it.
cache(, super)
TEMPLATE = subdirs
CONFIG += prepare_docs qt_docs_targets testcase_targets
defineReplace(moduleName) {
return(module_$$replace(1, -, _))
}
# Arguments: module name, [mandatory deps], [optional deps], [project file]
defineTest(addModule) {
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(qtsvg, qtbase)
addModule(qtxmlpatterns, qtbase)
addModule(qtjsbackend, qtbase)
addModule(qtdeclarative, qtjsbackend, qtsvg qtxmlpatterns)
addModule(qtmultimedia, qtbase, qtdeclarative)
addModule(qtactiveqt, qtbase)
addModule(qtwebkit, qtdeclarative, , 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(qttranslations, qttools)
addModule(qtdoc, qtdeclarative)
addModule(qtqa, qtbase)