2013-02-19 16:54:54 +00:00
|
|
|
versionsym = QT_VERSION_STR
|
|
|
|
|
2021-11-25 19:12:40 +00:00
|
|
|
defines += Q_QDOC \
|
2016-08-12 10:30:43 +00:00
|
|
|
Q_CLANG_QDOC \
|
2013-02-19 16:54:54 +00:00
|
|
|
QT_.*_SUPPORT \
|
|
|
|
QT_.*_LIB \
|
|
|
|
QT_COMPAT \
|
|
|
|
QT_KEYPAD_NAVIGATION \
|
|
|
|
QT_NO_EGL \
|
|
|
|
Q_BYTE_ORDER \
|
|
|
|
QT_DEPRECATED \
|
|
|
|
QT_DEPRECATED_* \
|
|
|
|
Q_NO_USING_KEYWORD \
|
2017-04-27 12:05:23 +00:00
|
|
|
Q_OS_.* \
|
2013-08-29 07:10:52 +00:00
|
|
|
Q_COMPILER_INITIALIZER_LISTS \
|
qcompilerdetection.h: add Q_COMPILER_UNIFORM_INIT
Up to now, the feature classe Uniform Initialization was subsumed by the
Q_COMPILER_INITIALIZER_LISTS flag together with support for
std::initializer_list.
This caused at least two problems:
1. On QNX, the standard libray does not ship <initializer_list>, even
though the compiler (a GCC 4.6, IIRC) supports it. But since there
was only one Q_COMPILER flag for both, support for the compiler-only
part of the feature had to be disabled, too.
2. MSVC 2013 supports initializer lists, but has a bug that renders full
uniform initialization support, as required for QUuid, useless.
By splitting the feature into two, we can separate them better, and do
so in QUuid, which is the only class that currently takes advantage of
uniform initialization (to provide constexpr constructors).
Since Q_COMPILER_INITIALIZER_LISTS worked as a flag for uniform
initialization so far, with the two known exceptions above,
UNIFORM_INIT is defined whenever INITIALIZER_LIST is, except that
I don't revert UNIFORM_INIT on QNX as I do for INITIALIZER_LISTS
and that I expect the MSVC 2013 features to set INITIALIZER_LIST,
but not UNIFORM_INIT.
Task-number: QTBUG-34705
Change-Id: I81916e950a0f3aab3de7977e0326d2de3d31b14c
Reviewed-by: Yuchen Deng <loaden@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-12 10:17:05 +00:00
|
|
|
Q_COMPILER_UNIFORM_INIT \
|
2013-08-29 07:10:52 +00:00
|
|
|
Q_COMPILER_RVALUE_REFS
|
2013-02-19 16:54:54 +00:00
|
|
|
|
2018-01-31 12:18:25 +00:00
|
|
|
clangdefines += Q_QDOC \
|
2016-08-12 10:30:43 +00:00
|
|
|
Q_CLANG_QDOC \
|
|
|
|
QT_COMPAT \
|
|
|
|
QT_BUILD_CORE_LIB \
|
|
|
|
QT_BUILD_EGL_DEVICE_LIB \
|
|
|
|
QT_BUILD_LOCATION_LIB \
|
|
|
|
QT_BUILD_SCRIPT_LIB \
|
|
|
|
QT_BUILD_TESTLIB_LIB \
|
|
|
|
QT_BUILD_WIDGETS_LIB \
|
|
|
|
QT_CORE_LIB \
|
|
|
|
QT_DEPRECATED \
|
|
|
|
QT_GUI_LIB \
|
|
|
|
QT_KEYPAD_NAVIGATION \
|
|
|
|
QT_LARGEFILE_SUPPORT \
|
|
|
|
QT_NETWORK_LIB \
|
|
|
|
QT_NO_EGL \
|
|
|
|
QT_OPENGL_SUPPORT \
|
|
|
|
QT_SCRIPT_LIB \
|
|
|
|
QT_SHARED_POINTER_BACKTRACE_SUPPORT \
|
|
|
|
QT_WIDGETS_LIB \
|
|
|
|
Q_BYTE_ORDER \
|
|
|
|
Q_CC_CLANG \
|
|
|
|
Q_COMPILER_CONSTEXPR \
|
|
|
|
Q_COMPILER_DEFAULT_MEMBERS \
|
|
|
|
Q_COMPILER_DELETE_MEMBERS \
|
|
|
|
Q_COMPILER_EXPLICIT_OVERRIDES \
|
|
|
|
Q_COMPILER_INITIALIZER_LISTS \
|
|
|
|
Q_COMPILER_MANGLES_RETURN_TYPE \
|
|
|
|
Q_COMPILER_NOEXCEPT \
|
|
|
|
Q_COMPILER_NULLPTR \
|
|
|
|
Q_COMPILER_RVALUE_REFS \
|
|
|
|
Q_COMPILER_STATIC_ASSERT \
|
|
|
|
Q_COMPILER_UNIFORM_INIT \
|
|
|
|
Q_COMPILER_VARIADIC_MACROS \
|
|
|
|
Q_COMPILER_VARIADIC_TEMPLATES \
|
|
|
|
Q_ATOMIC_INT16_IS_SUPPORTED \
|
|
|
|
Q_ATOMIC_INT64_IS_SUPPORTED \
|
2021-11-25 19:12:40 +00:00
|
|
|
Q_ATOMIC_INT8_IS_SUPPORTED
|
2016-08-12 10:30:43 +00:00
|
|
|
|
|
|
|
# Q_COMPILER_REF_QUALIFIERS is not yet supported by all compilers
|
|
|
|
|
2012-10-26 12:27:25 +00:00
|
|
|
Cpp.ignoretokens += \
|
2014-04-14 12:12:00 +00:00
|
|
|
ENGINIOCLIENT_EXPORT \
|
2012-11-07 11:38:47 +00:00
|
|
|
PHONON_EXPORT \
|
2016-12-02 08:51:52 +00:00
|
|
|
Q_ALWAYS_INLINE \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_AUTOTEST_EXPORT \
|
|
|
|
Q_BLUETOOTH_EXPORT \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_COMPAT_EXPORT \
|
|
|
|
Q_CORE_EXPORT \
|
|
|
|
Q_CORE_EXPORT_INLINE \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_DBUS_EXPORT \
|
|
|
|
Q_DECL_CONSTEXPR \
|
2014-08-23 16:26:01 +00:00
|
|
|
Q_DECL_RELAXED_CONSTEXPR \
|
2014-03-01 13:12:33 +00:00
|
|
|
Q_DECL_CONST_FUNCTION \
|
2013-09-14 18:36:38 +00:00
|
|
|
Q_DECL_DEPRECATED \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_DECL_NOEXCEPT \
|
2014-04-08 12:09:12 +00:00
|
|
|
Q_DECL_FINAL \
|
2014-11-22 10:47:46 +00:00
|
|
|
Q_DECL_OVERRIDE \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_DECL_NOTHROW \
|
2014-03-01 13:12:33 +00:00
|
|
|
Q_DECL_PURE_FUNCTION \
|
2014-01-09 23:16:49 +00:00
|
|
|
Q_DECL_UNUSED \
|
2015-06-29 12:18:12 +00:00
|
|
|
Q_DECL_CF_RETURNS_RETAINED \
|
|
|
|
Q_DECL_NS_RETURNS_AUTORELEASED \
|
2015-11-26 11:53:33 +00:00
|
|
|
Q_DECL_EQ_DEFAULT \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_DECLARATIVE_EXPORT \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_EXPLICIT \
|
|
|
|
Q_EXPORT \
|
|
|
|
Q_EXPORT_PLUGIN \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_EXPORT_PLUGIN2 \
|
|
|
|
Q_GADGET \
|
Long live Q_GADGET_EXPORT!
Like Q_NAMESPACE_EXPORT for Q_NAMESPACE, this variant of Q_GADGET
allows passing an export macro. This is useful to avoid exporting the
whole class just to get the staticMetaObject hidden therein exported.
Before anyone asks: No, we don't need Q_OBJECT_EXPORT, because QObject
subclasses, being polymorphic, always need to have a class-level
export macro (to export their vtable), but while that technique also
works for value classes (the Q_GADGET audience), it is not desirable
for them, because it makes inline functions exported in Windows debug
builds, which is not what we want, because it needlessly restricts
what you can to with the inline functions (e.g. remove).
[ChangeLog][QtCore] Added the Q_GADGET_EXPORT macro, which is like
Q_GADGET, but allows passing an export macro (like Q_NAMESPACE_EXPORT
for Q_NAMESPACE).
Fixes: QTBUG-55458
Change-Id: I546297de1e8aa45d83381991bcd3fbca61e1eef0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2021-11-22 09:30:04 +00:00
|
|
|
Q_GADGET_EXPORT \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_GFX_INLINE \
|
|
|
|
Q_GUI_EXPORT \
|
|
|
|
Q_GUI_EXPORT_INLINE \
|
|
|
|
Q_GUI_EXPORT_STYLE_CDE \
|
|
|
|
Q_GUI_EXPORT_STYLE_COMPACT \
|
|
|
|
Q_GUI_EXPORT_STYLE_MAC \
|
|
|
|
Q_GUI_EXPORT_STYLE_MOTIF \
|
|
|
|
Q_GUI_EXPORT_STYLE_MOTIFPLUS \
|
|
|
|
Q_GUI_EXPORT_STYLE_PLATINUM \
|
|
|
|
Q_GUI_EXPORT_STYLE_POCKETPC \
|
|
|
|
Q_GUI_EXPORT_STYLE_SGI \
|
|
|
|
Q_GUI_EXPORT_STYLE_WINDOWS \
|
|
|
|
Q_INLINE_TEMPLATE \
|
|
|
|
Q_INTERNAL_WIN_NO_THROW \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_INVOKABLE \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_LOCATION_EXPORT \
|
2013-08-22 10:39:32 +00:00
|
|
|
Q_POSITIONING_EXPORT \
|
2012-11-07 11:53:07 +00:00
|
|
|
Q_MULTIMEDIA_EXPORT \
|
2016-08-19 12:44:42 +00:00
|
|
|
Q_NAMESPACE \
|
2019-04-30 07:39:21 +00:00
|
|
|
Q_NAMESPACE_EXPORT \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_NETWORK_EXPORT \
|
2015-06-05 09:35:01 +00:00
|
|
|
Q_NEVER_INLINE \
|
2013-08-09 20:35:09 +00:00
|
|
|
Q_NORETURN \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_OPENGL_EXPORT \
|
|
|
|
Q_OPENVG_EXPORT \
|
|
|
|
Q_OUTOFLINE_TEMPLATE \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_PRINTSUPPORT_EXPORT \
|
2013-04-03 11:25:26 +00:00
|
|
|
Q_QML_EXPORT \
|
2013-07-19 10:37:03 +00:00
|
|
|
Q_REQUIRED_RESULT \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_SCRIPT_EXPORT \
|
|
|
|
Q_SCRIPTTOOLS_EXPORT \
|
2015-11-26 11:53:33 +00:00
|
|
|
Q_SERIALBUS_EXPORT \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_SQL_EXPORT \
|
|
|
|
Q_SVG_EXPORT \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_TESTLIB_EXPORT \
|
2012-11-07 11:38:47 +00:00
|
|
|
Q_TYPENAME \
|
2020-06-22 09:44:34 +00:00
|
|
|
Q_WEAK_OVERLOAD \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_WIDGETS_EXPORT \
|
2013-10-02 10:14:17 +00:00
|
|
|
Q_WINEXTRAS_EXPORT \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_XML_EXPORT \
|
|
|
|
Q_XMLPATTERNS_EXPORT \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_XMLSTREAM_EXPORT \
|
|
|
|
QAXFACTORY_EXPORT \
|
2012-10-26 10:39:04 +00:00
|
|
|
QDBUS_EXPORT \
|
2012-10-26 12:27:25 +00:00
|
|
|
QDESIGNER_COMPONENTS_LIBRARY \
|
|
|
|
QDESIGNER_EXTENSION_LIBRARY \
|
|
|
|
QDESIGNER_SDK_LIBRARY \
|
|
|
|
QDESIGNER_SHARED_LIBRARY \
|
|
|
|
QDESIGNER_UILIB_LIBRARY \
|
|
|
|
QHELP_EXPORT \
|
2012-11-07 11:38:47 +00:00
|
|
|
QM_AUTOTEST_EXPORT \
|
2012-10-26 12:27:25 +00:00
|
|
|
QM_EXPORT_CANVAS \
|
|
|
|
QM_EXPORT_DNS \
|
|
|
|
QM_EXPORT_DOM \
|
|
|
|
QM_EXPORT_FTP \
|
|
|
|
QM_EXPORT_HTTP \
|
|
|
|
QM_EXPORT_ICONVIEW \
|
|
|
|
QM_EXPORT_NETWORK \
|
|
|
|
QM_EXPORT_OPENGL \
|
|
|
|
QM_EXPORT_OPENVG \
|
|
|
|
QM_EXPORT_SQL \
|
|
|
|
QM_EXPORT_TABLE \
|
|
|
|
QM_EXPORT_WORKSPACE \
|
|
|
|
QM_EXPORT_XML \
|
|
|
|
QT_ASCII_CAST_WARN \
|
|
|
|
QT_ASCII_CAST_WARN_CONSTRUCTOR \
|
2012-10-26 10:39:04 +00:00
|
|
|
QT_BEGIN_INCLUDE_NAMESPACE \
|
2012-10-26 12:27:25 +00:00
|
|
|
QT_BEGIN_NAMESPACE \
|
|
|
|
QT_BOOTSTRAPPED \
|
|
|
|
QT_DESIGNER_STATIC \
|
2012-10-26 10:39:04 +00:00
|
|
|
QT_END_INCLUDE_NAMESPACE \
|
2012-10-26 12:27:25 +00:00
|
|
|
QT_END_NAMESPACE \
|
|
|
|
QT_FASTCALL \
|
2013-09-05 07:36:02 +00:00
|
|
|
QT_MUTEX_LOCK_NOEXCEPT \
|
2017-04-20 12:35:20 +00:00
|
|
|
QT_POPCOUNT_CONSTEXPR \
|
2022-04-06 14:39:22 +00:00
|
|
|
QT_POST_CXX17_API_IN_EXPORTED_CLASS \
|
2015-01-19 10:29:52 +00:00
|
|
|
QT_SIZEPOLICY_CONSTEXPR \
|
2016-12-14 11:57:28 +00:00
|
|
|
QT_WARNING_DISABLE_DEPRECATED \
|
2014-10-31 05:44:13 +00:00
|
|
|
QT_WARNING_PUSH \
|
|
|
|
QT_WARNING_POP \
|
2012-10-26 12:27:25 +00:00
|
|
|
QT_WIDGET_PLUGIN_EXPORT \
|
|
|
|
QWEBKIT_EXPORT
|
|
|
|
|
2013-02-19 16:54:54 +00:00
|
|
|
Cpp.ignoredirectives += \
|
2012-10-26 12:27:25 +00:00
|
|
|
__attribute__ \
|
|
|
|
K_DECLARE_PRIVATE \
|
2012-11-07 11:38:47 +00:00
|
|
|
PHONON_HEIR \
|
|
|
|
PHONON_OBJECT \
|
2012-11-07 11:53:07 +00:00
|
|
|
Q_CLASSINFO \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_DECLARE_INTERFACE \
|
|
|
|
Q_DECLARE_METATYPE \
|
2022-01-18 16:38:48 +00:00
|
|
|
QT_DECL_METATYPE_EXTERN \
|
|
|
|
QT_IMPL_METATYPE_EXTERN \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_DECLARE_OPERATORS_FOR_FLAGS \
|
|
|
|
Q_DECLARE_PRIVATE \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_DECLARE_PRIVATE_D \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_DECLARE_PUBLIC \
|
|
|
|
Q_DECLARE_SHARED \
|
|
|
|
Q_DECLARE_TR_FUNCTIONS \
|
|
|
|
Q_DECLARE_TYPEINFO \
|
2014-03-17 11:55:44 +00:00
|
|
|
Q_DECL_NOEXCEPT_EXPR \
|
|
|
|
QT_DEPRECATED_X \
|
2017-03-08 12:21:42 +00:00
|
|
|
QT_SYSINFO_DEPRECATED_X \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_DISABLE_COPY \
|
|
|
|
Q_DUMMY_COMPARISON_OPERATOR \
|
2015-02-18 13:03:11 +00:00
|
|
|
Q_ENUM \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_ENUMS \
|
2016-12-14 13:37:52 +00:00
|
|
|
Q_ENUM_NS \
|
2015-02-18 13:03:11 +00:00
|
|
|
Q_FLAG \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_FLAGS \
|
2016-12-14 13:37:52 +00:00
|
|
|
Q_FLAG_NS \
|
2016-12-02 08:51:52 +00:00
|
|
|
QT_HAS_INCLUDE \
|
2012-10-26 10:39:04 +00:00
|
|
|
Q_INTERFACES \
|
|
|
|
Q_PRIVATE_PROPERTY \
|
2012-11-07 11:38:47 +00:00
|
|
|
QT_FORWARD_DECLARE_CLASS \
|
2013-03-19 15:13:24 +00:00
|
|
|
Q_DECLARE_HANDLE \
|
2014-10-31 05:44:13 +00:00
|
|
|
Q_REVISION \
|
|
|
|
QT_WARNING_DISABLE_CLANG \
|
|
|
|
QT_WARNING_DISABLE_GCC \
|
|
|
|
QT_WARNING_DISABLE_INTEL \
|
2015-06-29 11:45:04 +00:00
|
|
|
QT_WARNING_DISABLE_MSVC \
|
2015-08-06 08:45:40 +00:00
|
|
|
Q_ATTRIBUTE_FORMAT_PRINTF \
|
2022-02-03 23:44:08 +00:00
|
|
|
Q_MV_IOS \
|
|
|
|
QT6_ONLY \
|
|
|
|
QT7_ONLY
|
2016-02-19 14:16:31 +00:00
|
|
|
|
|
|
|
# Qt 6: Remove
|
|
|
|
falsehoods += \
|
2018-05-01 13:03:35 +00:00
|
|
|
"QT_VERSION >= QT_VERSION_CHECK\\(\\s*6\\s*,\\s*0\\s*,\\s*0\\s*\\)"
|
2016-09-22 07:48:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
excludefiles += \
|
|
|
|
"*_posix.cpp" \
|
|
|
|
"*_android.cpp" \
|
|
|
|
"*_win.cpp" \
|
|
|
|
"*_icu.cpp" \
|
|
|
|
"*_msvc.cpp" \
|
|
|
|
"*_wince.cpp" \
|
|
|
|
"*_winrt.cpp" \
|
|
|
|
"*_mac.cpp" \
|
|
|
|
"*_macx.cpp" \
|
|
|
|
"*_unix.cpp" \
|
|
|
|
"*_udev.cpp" \
|
|
|
|
"*_vxworks.cpp" \
|
2017-06-08 12:27:01 +00:00
|
|
|
"*_darwin.cpp"
|