make using testlib automatically "promote" all modules to -private

autotests often need private headers (especially with qpa headers now
being private) and have no compatibility requirements, so it makes sense
to just use the privates of requested modules.

this also suppresses the useless warning about using privates, in case
they are still explicitly specified.

Change-Id: I9e499bedcf6ef25777283ff1432cef7254e9093a
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
This commit is contained in:
Oswald Buddenhagen 2012-06-25 17:18:26 +02:00 committed by Qt by Nokia
parent 1cb7979e0b
commit 34cb86d46b
3 changed files with 4 additions and 3 deletions

View File

@ -149,6 +149,7 @@ for(QTLIB, QT) {
NEWQT += $$eval(QT.$${QTLIBRAW}.private_depends)
}
NEWQT += $$QTLIBRAW
contains(QT.$${QTLIBRAW}.CONFIG, auto_use_privates): CONFIG += auto_use_privates
}
# Topological resolution of modules based on their QT.<module>.depends variable
QT = $$resolve_depends(NEWQT, "QT.")
@ -170,7 +171,7 @@ for(QTLIB, QT) {
}
!isEmpty(BAD_QT):error("Unknown module(s) in QT: $$BAD_QT")
!isEmpty(using_privates):!no_private_qt_headers_warning:if(!debug_and_release|!build_pass) {
!isEmpty(using_privates):!auto_use_privates:!no_private_qt_headers_warning:if(!debug_and_release|!build_pass) {
message("This project is using private headers and will therefore be tied to this specific Qt module build version.")
message("Running this project against other versions of the Qt modules may crash at any arbitrary point.")
message("This is not a bug, but a result of using Qt internals. You have been warned!")

View File

@ -51,7 +51,7 @@ defineTest(qtAddModule) {
}
INCLUDEPATH *= $$MODULE_INCLUDES
isEqual(2, UsePrivate) { # Tests function parameter 2 ($$2) being equal to 'UsePrivate'
auto_use_privates|isEqual(2, UsePrivate) { # Tests function parameter 2 ($$2) being equal to 'UsePrivate'
# This adds both
# <module privates include path>/
# and <module privates include path>/<module name>

View File

@ -4,7 +4,7 @@ TARGET = QtTest
QT = core-private
CONFIG += exceptions
MODULE_CONFIG = console testlib_defines
MODULE_CONFIG = console testlib_defines auto_use_privates
INCLUDEPATH += .
unix:!embedded:QMAKE_PKGCONFIG_DESCRIPTION = Qt \