summaryrefslogtreecommitdiffstats
path: root/tests/auto/other/headersclean/headersclean.pro
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2012-02-17 09:05:39 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-17 16:42:28 +0100
commit7e970eb58c71dc08981575c648a04d258dbf0684 (patch)
treedb556d2d066b61297025aafe1426d667a917ae62 /tests/auto/other/headersclean/headersclean.pro
parent77172b25fe18c8c9e1578e2c0caeb63cb674513a (diff)
Ensure that Qt public headers compile with strict flags
Those from http://wiki.qt-project.org/Coding_Conventions#Conventions_for_public_header_files (unfortunatey -Wold-style-cast cannot be used due to the glibc macro bswap_16) and many Qt defines that disable casts. Change-Id: I97ac707a101df9819e8c031fa75a31b30e20247f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/other/headersclean/headersclean.pro')
-rw-r--r--tests/auto/other/headersclean/headersclean.pro27
1 files changed, 24 insertions, 3 deletions
diff --git a/tests/auto/other/headersclean/headersclean.pro b/tests/auto/other/headersclean/headersclean.pro
index 814f19c865..5444bebfb9 100644
--- a/tests/auto/other/headersclean/headersclean.pro
+++ b/tests/auto/other/headersclean/headersclean.pro
@@ -1,7 +1,28 @@
CONFIG += testcase
TARGET = tst_headersclean
SOURCES += tst_headersclean.cpp
-QT = core network xml sql testlib
-contains(QT_CONFIG,dbus): QT += dbus
-contains(QT_CONFIG,opengl): QT += opengl
+# No need to link to all modules, only those actually used
+QT = core testlib gui widgets
+
+*-g++*: QMAKE_CXXFLAGS += -W -Wall -Wextra -Werror
+
+# The flags here come from http://wiki.qt-project.org/Coding_Conventions#Conventions_for_public_header_files
+# -Wold-style-cast cannot be used, /usr/include/bits/byteswap.h defines the macro bswap_16 using C style casts :(
+# -Wfloat-equal cannot be used, qrect.h and qvector2d.h do exact comparisons in isNull and operator==. Would need #pragmas.
+*-g++*: QMAKE_CXXFLAGS += -Woverloaded-virtual -Wshadow -Wundef
+
+# Other nice flags
+*-g++*: QMAKE_CXXFLAGS += -Wnon-virtual-dtor -ansi -Wcast-align -Wchar-subscripts -Wpointer-arith -Wformat-security
+
+# Enable pedantic mode, but accept variadic macros and 'long long' usage.
+*-g++*: QMAKE_CXXFLAGS += -Wno-long-long -Wno-variadic-macros -pedantic-errors
+
+QMAKE_CXXFLAGS += -DQT_NO_CAST_TO_ASCII \
+ -DQT_NO_CAST_FROM_ASCII \
+ -DQT_STRICT_ITERATORS \
+ -DQT_NO_URL_CAST_FROM_STRING \
+ -DQT_NO_CAST_FROM_BYTEARRAY \
+ -DQT_NO_KEYWORDS \
+ -DQT_USE_FAST_CONCATENATION \
+ -DQT_USE_FAST_OPERATOR_PLUS