# # 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. # !contains(QMAKE_INTERNAL_INCLUDED_FILES, .*qmodule\\.pri) { QMAKE_QT_MODULE = $$[QT_HOST_DATA/get]/mkspecs/qmodule.pri !exists($$QMAKE_QT_MODULE)|!include($$QMAKE_QT_MODULE, "", true) { debug(1, "Cannot load qmodule.pri!") } else { debug(1, "Loaded qmodule.pri from ($$QMAKE_QT_MODULE)") } } else { debug(1, "Not loading qmodule.pri twice") } PRECOMPILED_DIR = .pch OBJECTS_DIR = .obj MOC_DIR = .moc RCC_DIR = .rcc UI_DIR = .uic intel_icl { # ICL 14.0 has a bug that makes it not find #includes in dirs starting with . MOC_DIR = tmp/moc RCC_DIR = tmp/rcc UI_DIR = tmp/uic } QMAKE_DIR_REPLACE_SANE = PRECOMPILED_DIR OBJECTS_DIR MOC_DIR RCC_DIR UI_DIR # force_independent can be set externally. prefix_build not. !exists($$[QT_HOST_DATA]/.qmake.cache): \ CONFIG += prefix_build force_independent !build_pass:!isEmpty(_QMAKE_SUPER_CACHE_):force_independent { # When doing a -prefix build of top-level qt5/qt.pro, we need to announce # this repo's output dir to the other repos. MODULE_BASE_OUTDIR = $$shadowed($$dirname(_QMAKE_CONF_)) !contains(QTREPOS, $$MODULE_BASE_OUTDIR): \ cache(QTREPOS, add super, MODULE_BASE_OUTDIR) # This repo's module pris' location needs to be made known to qmake. isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR modpath = $$MODULE_QMAKE_OUTDIR/mkspecs/modules !contains(QMAKEMODULES, $$modpath): \ cache(QMAKEMODULES, add super, modpath) unset(modpath) } defineTest(qtSetQmlPath) { !qtConfig(static)|host_build|no_import_scan: \ return() deps = $$replace(QT, -private$, _private) deps = $$resolve_depends(deps, "QT.") !contains(deps, qml): \ return() isEmpty(QTREPOS): \ QTREPOS = $$shadowed($$dirname(_QMAKE_CONF_)) for (qrep, QTREPOS): \ exists($$qrep/qml): \ QMLPATHS += $$qrep/qml export(QMLPATHS) } # Apply extra compiler flags passed via configure last. CONFIG = qt_build_extra $$CONFIG # Don't actually try to install anything in non-prefix builds. # This is much easier and safer than making every single INSTALLS # assignment conditional. !prefix_build: \ CONFIG += qt_clear_installs cross_compile: \ CONFIG += force_bootstrap android|uikit|winrt: \ CONFIG += builtin_testdata CONFIG += \ utf8_source \ create_prl link_prl \ prepare_docs qt_docs_targets \ no_private_qt_headers_warning QTDIR_build \ qt_example_installs \ # Qt modules get compiled without exceptions enabled by default. # However, testcases should be still built with exceptions. exceptions_off testcase_exceptions # Under Windows, this is neither necessary (transitive deps are automatically # resolved), nor functional (.res files end up in .prl files and break things). unix: CONFIG += explicitlib defineTest(qtBuildPart) { bp = $$eval($$upper($$section(_QMAKE_CONF_, /, -2, -2))_BUILD_PARTS) isEmpty(bp): bp = $$QT_BUILD_PARTS contains(bp, $$1): return(true) return(false) } defineTest(qtNomakeTools) { qtBuildPart(tools): return() for (d, 1) { $${d}.CONFIG += no_default_target no_default_install export($${d}.CONFIG) } } # This overloads the same function from qt_functions.prf. # This is not in qt_module.prf, as that gets loaded too late. defineTest(qtConfig) { modules = $$QT $$QT_PRIVATE $$QT_FOR_PRIVATE $$QT_FOR_CONFIG modules ~= s,-private$,_private,g modules = $$resolve_depends(modules, "QT.", ".depends") isEmpty(MODULE): \ MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0) exists($$OUT_PWD/qt$${MODULE}-config.pri) { include($$OUT_PWD/qt$${MODULE}-config.pri) modules += $${MODULE} $${MODULE}_private } modules += global global_private modules = $$reverse(modules) for (module, modules) { contains(QT.$${module}.enabled_features, $$1): \ return(true) contains(QT.$${module}.disabled_features, $$1): \ return(false) } error("Could not find feature $${1}.") }