diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2012-01-16 12:10:07 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-17 12:45:36 +0100 |
commit | 90a3e6c7c4059835f41918c893436bd9490f813f (patch) | |
tree | 2e8432b8bf7136be973410ce897cd0f65a7786db /src | |
parent | 14e237816da2eaabc4ff1f7fd17aae211e160a6b (diff) |
Conditionally define Qt C++ "extension" macros.
This patch makes it possible to disable the definition of meta-object
related macros like SIGNAL, Q_SIGNALS, etc. This changes makes it
possible for tools to define the macros in a way that can be used with
them.
Change-Id: Ie8efb1983536f57755cbc59a8f71f1d04bf080be
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/kernel/qobjectdefs.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index dfcc81be03..3f3af8cd4d 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -62,6 +62,7 @@ class QString; // They are used, strictly speaking, only by the moc. #ifndef Q_MOC_RUN +#ifndef QT_NO_META_MACROS # if defined(QT_NO_KEYWORDS) # define QT_NO_EMIT # else @@ -106,6 +107,7 @@ class QString; // inherit the ones from QObject # define QT_TR_FUNCTIONS #endif +#endif // QT_NO_META_MACROS #if defined(QT_NO_QOBJECT_CHECK) /* tmake ignore Q_OBJECT */ @@ -151,11 +153,14 @@ private: \ /* tmake ignore Q_OBJECT */ #define Q_OBJECT_FAKE Q_OBJECT + +#ifndef QT_NO_META_MACROS /* tmake ignore Q_GADGET */ #define Q_GADGET \ public: \ static const QMetaObject staticMetaObject; \ private: +#endif // QT_NO_META_MACROS #else // Q_MOC_RUN #define slots slots @@ -182,6 +187,7 @@ private: #define Q_SLOT Q_SLOT #endif //Q_MOC_RUN +#ifndef QT_NO_META_MACROS // macro for onaming members #ifdef METHOD #undef METHOD @@ -192,9 +198,11 @@ private: #ifdef SIGNAL #undef SIGNAL #endif +#endif // QT_NO_META_MACROS Q_CORE_EXPORT const char *qFlagLocation(const char *method); +#ifndef QT_NO_META_MACROS #define QTOSTRING_HELPER(s) #s #define QTOSTRING(s) QTOSTRING_HELPER(s) #ifndef QT_NO_DEBUG @@ -215,6 +223,7 @@ Q_CORE_EXPORT const char *qFlagLocation(const char *method); #define QMETHOD_CODE 0 // member type codes #define QSLOT_CODE 1 #define QSIGNAL_CODE 2 +#endif // QT_NO_META_MACROS #define Q_ARG(type, data) QArgument<type >(#type, data) #define Q_RETURN_ARG(type, data) QReturnArgument<type >(#type, data) |