add a .qmake.conf file which load()s qt_build_config

that way we don't have to auto-generate code for that in the configures.

note that we now load qt_build_config.prf instead of just qmodule.pri,
which means that exceptions_off is set everywhere. we forcibly re-enable
them for testcases to minimize the deviation from default 3rd party usage.
testlib selftests are not qt testcases, so the one that needs exceptions
needs to enable them explicitly.

Change-Id: I1b9360bb11f2e80c92a2b63a7c45991ad17fda1b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
Oswald Buddenhagen 2012-09-18 22:01:10 +02:00 committed by The Qt Project
parent a2e4b7a92f
commit 6226fcdc3e
6 changed files with 11 additions and 5 deletions

1
.qmake.conf Normal file
View File

@ -0,0 +1 @@
load(qt_build_config)

1
configure vendored
View File

@ -6114,7 +6114,6 @@ cat >>"$CACHEFILE.tmp" <<EOF
QT_SOURCE_TREE = \$\$quote($relpath)
QT_BUILD_TREE = \$\$quote($outpath)
include(\$\$PWD/mkspecs/qmodule.pri)
CONFIG += fix_output_dirs no_private_qt_headers_warning QTDIR_build
EOF

View File

@ -15,5 +15,6 @@ mac {
}
}
# Qt modules get compiled without exceptions enabled by default
CONFIG += exceptions_off
# Qt modules get compiled without exceptions enabled by default.
# However, testcases should be still built with exceptions.
CONFIG += exceptions_off testcase_exceptions

View File

@ -1,5 +1,11 @@
have_target {
# qt_build_config.prf disables execptions for all Qt modules which don't
# explicitly turn it on again, while the qmake default is to build with
# exceptions. As we want tests to be built like 3rd party applications,
# qt_build_config tells us to re-enable exceptions here.
testcase_exceptions: CONFIG += exceptions
check.files =
check.path = .

View File

@ -3,6 +3,7 @@ QT = core testlib
mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
CONFIG += exceptions
TARGET = exceptionthrow
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0

View File

@ -2670,8 +2670,6 @@ void Configure::generateCachefile()
if (cacheFile.open(QFile::WriteOnly | QFile::Text)) { // Truncates any existing file.
QTextStream cacheStream(&cacheFile);
cacheStream << "include($$PWD/mkspecs/qmodule.pri)" << endl;
for (QStringList::Iterator var = qmakeVars.begin(); var != qmakeVars.end(); ++var) {
cacheStream << (*var) << endl;
}