qt5base-lts/tests/auto/moc/moc.pro
Rohan McGovern 173099696f tests: clean up usage of QT_CONFIG to fix circular dependencies
With modularized Qt, using QT_CONFIG is dangerous, because the behavior
changes depending on the order in which modules are qmake'd.

For example, an autotest doing:

  contains(QT_CONFIG,svg):QT += svg

...will depend on libQtSvg if (and only if) the autotest is qmake'd
_after_ qtsvg is qmake'd.

This makes the tested functionality unpredictable.
Also, if the above example occurs within qtbase, it causes the test to
sometimes have a circular dependency: if qtsvg is qmake'd before the
test is qmake'd, the test in qtbase depends on qtsvg which depends on
qtbase.

Tests must avoid functionality tests via QT_CONFIG except where all the
tested modules are dependencies of the current module.

Usage of QT_CONFIG with qt3support was entirely removed since Qt5
will not retain qt3support.

Reviewed-by: Jason McDonald
Change-Id: I5a5013b3ec7e1f38fb78864763c9e7586c15e70b
2011-05-16 13:10:00 +10:00

30 lines
1005 B
Prolog

load(qttest_p4)
#exists(/usr/include/boost/spirit.hpp) {
# message("including boost headers in test")
# DEFINES += PARSE_BOOST
# # need to add explicitly so that it ends up in moc's search path
# INCLUDEPATH += /usr/include
#}
INCLUDEPATH += testproject/include testproject
DEFINES += SRCDIR=\\\"$$PWD\\\"
cross_compile: DEFINES += MOC_CROSS_COMPILED
HEADERS += using-namespaces.h no-keywords.h task87883.h c-comments.h backslash-newlines.h oldstyle-casts.h \
slots-with-void-template.h qinvokable.h namespaced-flags.h trigraphs.h \
escapes-in-string-literals.h cstyle-enums.h qprivateslots.h gadgetwithnoenums.h \
dir-in-include-path.h single_function_keyword.h task192552.h task189996.h \
task234909.h task240368.h pure-virtual-signals.h
if(*-g++*|*-icc*|*-clang|*-llvm):!irix-*:!win32-*: HEADERS += os9-newlines.h win-newlines.h
SOURCES += tst_moc.cpp
QT += sql network
contains(QT_CONFIG, dbus){
DEFINES += WITH_DBUS
QT += dbus
}