a7ba0ad93e
It sounds like a good thing to have this warning, but for future-proofing we can't have it. The system libraries might change and add deprecation marks (OS X does that often). If they do that, we don't want poor developers to have to fix all warnings before they can build Qt again. Change-Id: I4ff317da0de596c470bb1efe6e59bcf70aeec8fc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
58 lines
2.4 KiB
Plaintext
58 lines
2.4 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(QT_CONFIG, c++11): CONFIG += c++11
|
|
contains(TEMPLATE, .*lib) {
|
|
# module and plugins
|
|
contains(QT_CONFIG, reduce_exports): CONFIG += hide_symbols
|
|
unix:contains(QT_CONFIG, reduce_relocations): CONFIG += bsymbolic_functions
|
|
contains(QT_CONFIG, largefile): CONFIG += largefile
|
|
contains(QT_CONFIG, separate_debug_info): CONFIG += separate_debug_info
|
|
contains(QT_CONFIG, separate_debug_info_nocopy): CONFIG += separate_debug_info_nocopy
|
|
}
|
|
|
|
warnings_are_errors:warning_clean {
|
|
# If the module declares that it has does its clean-up of warnings, enable -Werror.
|
|
# This setting is compiler-dependent anyway because it depends on the version of the
|
|
# compiler.
|
|
clang {
|
|
# Apple clang 4.0-4.2
|
|
# Regular clang is not tested
|
|
ver = $${QT_APPLE_CLANG_MAJOR_VERSION}.$${QT_APPLE_CLANG_MINOR_VERSION}
|
|
contains(ver, "4\\.[012]") {
|
|
QMAKE_CXXFLAGS += -Werror -Wno-error=\\$${LITERAL_HASH}warnings -Wno-error=deprecated $$WERROR
|
|
}
|
|
} else:intel_icc:linux {
|
|
# Intel CC 13.0 - 14.0, on Linux only
|
|
ver = $${QT_ICC_MAJOR_VERSION}.$${QT_ICC_MINOR_VERSION}
|
|
linux:contains(ver, "(13\\.|14\\.0)") {
|
|
# 177: function "entity" was declared but never referenced
|
|
# (too aggressive; ICC reports even for functions created due to template instantiation)
|
|
# 1224: #warning directive
|
|
# 1478: function "entity" (declared at line N) was declared deprecated
|
|
# 1881: argument must be a constant null pointer value
|
|
# (NULL in C++ is usually a literal 0)
|
|
QMAKE_CXXFLAGS += -Werror -ww177,1224,1478,1881 $$WERROR
|
|
}
|
|
} else:gcc:!clang:!intel_icc {
|
|
# GCC 4.6-4.8
|
|
ver = $${QT_GCC_MAJOR_VERSION}.$${QT_GCC_MINOR_VERSION}
|
|
contains(ver, "4\\.[678]") {
|
|
QMAKE_CXXFLAGS += -Werror -Wno-error=cpp -Wno-error=deprecated $$WERROR
|
|
|
|
# GCC prints this bogus warning, after it has inlined a lot of code
|
|
# error: assuming signed overflow does not occur when assuming that (X + c) < X is always false
|
|
QMAKE_CXXFLAGS += -Wno-error=strict-overflow
|
|
}
|
|
}
|
|
unset(ver)
|
|
}
|