3378aa45c2
this makes the distclean targets work throughout qt. the dreaded confclean target is aliased to distclean. Task-number: QTBUG-8202 Task-number: QTBUG-20566 Change-Id: I7ac8e3b5b0110825dc93e4fa885281db91c6cf83 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
92 lines
2.7 KiB
Plaintext
92 lines
2.7 KiB
Plaintext
#
|
|
# W A R N I N G
|
|
# -------------
|
|
#
|
|
# This file is not part of the Qt API. It exists purely as an
|
|
# implementation detail. It may change from version to version
|
|
# without notice, or even be removed.
|
|
#
|
|
# We mean it.
|
|
#
|
|
|
|
# Ensure that each module has a .qmake.cache when properly qmake'd.
|
|
cache()
|
|
|
|
load(qt_build_config)
|
|
|
|
TEMPLATE = subdirs
|
|
|
|
bp = $$eval($$upper($$TARGET)_BUILD_PARTS)
|
|
!isEmpty(bp): QT_BUILD_PARTS = $$bp
|
|
|
|
exists($$_PRO_FILE_PWD_/src/src.pro) {
|
|
sub_src.subdir = src
|
|
sub_src.target = sub-src
|
|
SUBDIRS += sub_src
|
|
|
|
exists($$_PRO_FILE_PWD_/tools/tools.pro) {
|
|
sub_tools.subdir = tools
|
|
sub_tools.target = sub-tools
|
|
sub_tools.depends = sub_src
|
|
# conditional treatment happens on a case-by-case basis
|
|
SUBDIRS += sub_tools
|
|
}
|
|
}
|
|
|
|
exists($$_PRO_FILE_PWD_/examples/examples.pro) {
|
|
sub_examples.subdir = examples
|
|
sub_examples.target = sub-examples
|
|
contains(SUBDIRS, sub_src): sub_examples.depends = sub_src
|
|
examples_need_tools: sub_examples.depends += sub_tools
|
|
!contains(QT_BUILD_PARTS, examples): sub_examples.CONFIG = no_default_target no_default_install
|
|
SUBDIRS += sub_examples
|
|
}
|
|
|
|
# Some modules still have these
|
|
exists($$_PRO_FILE_PWD_/demos/demos.pro) {
|
|
sub_demos.subdir = demos
|
|
sub_demos.target = sub-demos
|
|
contains(SUBDIRS, sub_src): sub_demos.depends = sub_src
|
|
examples_need_tools: sub_demos.depends += sub_tools
|
|
!contains(QT_BUILD_PARTS, examples): sub_demos.CONFIG = no_default_target no_default_install
|
|
SUBDIRS += sub_demos
|
|
}
|
|
|
|
exists($$_PRO_FILE_PWD_/tests/tests.pro) {
|
|
sub_tests.subdir = tests
|
|
sub_tests.target = sub-tests
|
|
contains(SUBDIRS, sub_src): sub_tests.depends = sub_src # The tests may have a run-time only dependency on other parts
|
|
tests_need_tools: sub_tests.depends += sub_tools
|
|
sub_tests.CONFIG = no_default_install
|
|
!contains(QT_BUILD_PARTS, tests) {
|
|
sub_tests.CONFIG += no_default_target
|
|
} else: !ios {
|
|
# Make sure these are there in case we need them
|
|
sub_tools.CONFIG -= no_default_target
|
|
sub_examples.CONFIG -= no_default_target
|
|
sub_demos.CONFIG -= no_default_target
|
|
}
|
|
SUBDIRS += sub_tests
|
|
}
|
|
|
|
QT_BUILD_PARTS -= libs tools examples tests
|
|
!isEmpty(QT_BUILD_PARTS): warning("Unknown build part(s): $$QT_BUILD_PARTS")
|
|
|
|
QMAKE_DISTCLEAN += \
|
|
.qmake.cache \
|
|
config.log \
|
|
mkspecs/modules/*.pri \
|
|
mkspecs/modules-inst/*.pri
|
|
|
|
tests = $$files($$_PRO_FILE_PWD_/config.tests/*.pro, true)
|
|
testdirs =
|
|
for (t, tests): \
|
|
testdirs += $$relative_path($$dirname(t), $$_PRO_FILE_PWD_)
|
|
testdirs = $$unique(testdirs)
|
|
for (td, testdirs) {
|
|
t = $$basename(td)-distclean
|
|
$${t}.commands = -cd $$shell_path($$td) && $(MAKE) distclean
|
|
QMAKE_EXTRA_TARGETS += $$t
|
|
DISTCLEAN_DEPS += $$t
|
|
}
|