# # 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_configure) 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: !uikit { # 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.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 = -$$QMAKE_CD $$shell_path($$td) && $(MAKE) distclean QMAKE_EXTRA_TARGETS += $$t DISTCLEAN_DEPS += $$t }