Add a -force-asserts option to configure
We have the following scenario: Either you build a release package without asserts, or a debug package with asserts. However, in embedded development, we need asserts also in release packages. This flag allows you to build a release package, but Q_ASSERTs still fire. Change-Id: Icd1dd4dd63c3cafecf515b40741263d902ad42d1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
999196e336
commit
6a25a86d37
14
configure
vendored
14
configure
vendored
@ -833,6 +833,7 @@ CFG_COREWLAN=auto
|
||||
CFG_ICD=auto
|
||||
CFG_NOPROCESS=no
|
||||
CFG_ICU=auto
|
||||
CFG_FORCE_ASSERTS=no
|
||||
|
||||
# initalize variables used for installation
|
||||
QT_INSTALL_PREFIX=
|
||||
@ -1037,7 +1038,7 @@ while [ "$#" -gt 0 ]; do
|
||||
VAL=no
|
||||
;;
|
||||
#Qt style yes options
|
||||
-incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-wayland|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-v8|-declarative|-declarative-debug|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-icu)
|
||||
-incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-wayland|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-v8|-declarative|-declarative-debug|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-icu|-force-asserts)
|
||||
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
|
||||
VAL=yes
|
||||
;;
|
||||
@ -2403,6 +2404,13 @@ while [ "$#" -gt 0 ]; do
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
force-asserts)
|
||||
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
||||
CFG_FORCE_ASSERTS="$VAL"
|
||||
else
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
UNKNOWN_OPT=yes
|
||||
;;
|
||||
@ -7251,6 +7259,10 @@ if [ "$CFG_ICU" = "yes" ]; then
|
||||
QT_CONFIG="$QT_CONFIG icu"
|
||||
fi
|
||||
|
||||
if [ "$CFG_FORCE_ASSERTS" = "yes" ]; then
|
||||
QT_CONFIG="$QT_CONFIG force_asserts"
|
||||
fi
|
||||
|
||||
#
|
||||
# Some Qt modules are too advanced in C++ for some old compilers
|
||||
# Detect here the platforms where they are known to work.
|
||||
|
@ -18,6 +18,7 @@ win32 {
|
||||
!isEmpty(QMAKESPEC_ORIGINAL):INCLUDEPATH += $$QMAKESPEC_ORIGINAL
|
||||
}
|
||||
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG
|
||||
contains(QT_CONFIG, force_asserts):DEFINES += QT_FORCE_ASSERTS
|
||||
no_keywords:DEFINES += QT_NO_KEYWORDS
|
||||
plugin { #Qt plugins
|
||||
static:DEFINES += QT_STATICPLUGIN
|
||||
|
@ -1706,10 +1706,10 @@ inline QNoDebug qDebug();
|
||||
Q_CORE_EXPORT void qt_assert(const char *assertion, const char *file, int line);
|
||||
|
||||
#if !defined(Q_ASSERT)
|
||||
# ifndef QT_NO_DEBUG
|
||||
# define Q_ASSERT(cond) ((!(cond)) ? qt_assert(#cond,__FILE__,__LINE__) : qt_noop())
|
||||
# else
|
||||
# if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
|
||||
# define Q_ASSERT(cond) qt_noop()
|
||||
# else
|
||||
# define Q_ASSERT(cond) ((!(cond)) ? qt_assert(#cond,__FILE__,__LINE__) : qt_noop())
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user