summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2012-01-16 12:10:07 +0100
committerQt by Nokia <qt-info@nokia.com>2012-01-17 12:45:36 +0100
commit90a3e6c7c4059835f41918c893436bd9490f813f (patch)
tree2e8432b8bf7136be973410ce897cd0f65a7786db /src
parent14e237816da2eaabc4ff1f7fd17aae211e160a6b (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.h9
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)