d76a756b03
instead of saving the files away and restoring them afterwards, use the new and shiny discard_from() function to throw away everything the files might contain. strictly speaking, this is not precise, as the pris may also use *=, -=, and possibly other operations which cannot be trivially undone, but the purpose is essentially to discard the special outputs of some features which may affect subsequent tests, for which this is sufficient. as a side effect, the failure to load qmodule.pri is not fatal any more (like for qconfig.pri), to save the pointless effort of ensuring that it exists. Change-Id: I07625b60c4f2e27b21206b2c16d24ab111737395 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
98 lines
2.9 KiB
Plaintext
98 lines
2.9 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.
|
|
#
|
|
|
|
!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)
|
|
}
|
|
|
|
# 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 += \
|
|
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)
|
|
}
|
|
}
|