Files
qt5/qt.pro
Oswald Buddenhagen 7b034fec34 skip modules whose mandatory dependencies are missing
so that for example "-skip webkit" will also skip qtwebkit-examples.

Task-number: QTBUG-30307
Change-Id: I730830781ea5dabdccab88d19e82165f30dca8fe
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-04-18 19:09:07 +02:00

87 lines
2.6 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) {
dn = $$moduleName($$d)
!contains(SUBDIRS, $$dn): \
return(false)
$${mod}.depends += $$dn
}
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(qtx11extras, qtbase)
addModule(qlalr, qtbase)
addModule(qtsvg, qtbase)
addModule(qtxmlpatterns, qtbase)
addModule(qtjsbackend, qtbase)
addModule(qtdeclarative, qtjsbackend, qtsvg qtxmlpatterns)
addModule(qtquickcontrols, qtdeclarative)
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(qtserialport, qtbase)
addModule(qttranslations, qttools)
addModule(qtdoc, qtdeclarative)
addModule(qtqa, qtbase)