2013-02-19 16:54:54 +00:00
|
|
|
versionsym = QT_VERSION_STR
|
|
|
|
|
|
|
|
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 \
|
|
|
|
QT3_SUPPORT \
|
2016-10-21 08:27:02 +00:00
|
|
|
Q_DEAD_CODE_FROM_QT4_.* \
|
2013-02-19 16:54:54 +00:00
|
|
|
Q_BYTE_ORDER \
|
|
|
|
QT_DEPRECATED \
|
|
|
|
QT_DEPRECATED_* \
|
|
|
|
Q_NO_USING_KEYWORD \
|
|
|
|
__cplusplus \
|
Split Q_COMPILER_UNICODE_STRINGS: add Q_STDLIB_UNICODE_STRINGS
Since commit bf2160e72cd8840a8e604438cbdc807483ac980a, we can rely on
charNN_t support in all compilers except MSVC 2013, and since that
commit, we use (in 5.10, not 5.9, yet)
!defined(Q_OS_WIN) || defined(Q_COMPILER_UNICODE_STRINGS)
when we only need charNN_t, the type, as opposed to its library
support (u16string, char_traits<char16_t>, ...).
This patch splits the Q_C_UNICODE_STRINGS macro into two, adding
Q_STDLIB_UNICODE_STRINGS for when we need std::uNNstring, leaving
Q_C_UNICODE_STRINGS for when we need just charNN_t support.
In QDebug, when constructing a QChar out of a char16_t, cast to ushort
first, since QChar(char16_t) was only officially introduced in Qt 5.10.
[ChangeLog][Potentially Source-Incompatible Changes] The internal
Q_COMPILER_UNICODE_STRINGS macro is now defined if the compiler
supports charNN_t, even if the standard library does not. To check for
availability of std::uNNstring, use the new Q_STDLIB_UNICODE_STRINGS
macro.
Change-Id: I8f210fd7f1799fe21faf54506475a759b1f76a59
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-03-30 17:49:32 +00:00
|
|
|
Q_STDLIB_UNICODE_STRINGS \
|
2013-08-29 07:10:52 +00:00
|
|
|
Q_COMPILER_INITIALIZER_LISTS \
|
2016-12-14 13:24:08 +00:00
|
|
|
Q_COMPILER_UNICODE_STRINGS \
|
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
|
|
|
|
2016-08-12 10:30:43 +00:00
|
|
|
clangdefines += __cplusplus \
|
|
|
|
Q_QDOC \
|
|
|
|
Q_CLANG_QDOC \
|
|
|
|
QT_COMPAT \
|
|
|
|
QT3_SUPPORT \
|
|
|
|
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_UNICODE_STRINGS \
|
|
|
|
Q_COMPILER_VARIADIC_MACROS \
|
|
|
|
Q_COMPILER_VARIADIC_TEMPLATES \
|
Split Q_COMPILER_UNICODE_STRINGS: add Q_STDLIB_UNICODE_STRINGS
Since commit bf2160e72cd8840a8e604438cbdc807483ac980a, we can rely on
charNN_t support in all compilers except MSVC 2013, and since that
commit, we use (in 5.10, not 5.9, yet)
!defined(Q_OS_WIN) || defined(Q_COMPILER_UNICODE_STRINGS)
when we only need charNN_t, the type, as opposed to its library
support (u16string, char_traits<char16_t>, ...).
This patch splits the Q_C_UNICODE_STRINGS macro into two, adding
Q_STDLIB_UNICODE_STRINGS for when we need std::uNNstring, leaving
Q_C_UNICODE_STRINGS for when we need just charNN_t support.
In QDebug, when constructing a QChar out of a char16_t, cast to ushort
first, since QChar(char16_t) was only officially introduced in Qt 5.10.
[ChangeLog][Potentially Source-Incompatible Changes] The internal
Q_COMPILER_UNICODE_STRINGS macro is now defined if the compiler
supports charNN_t, even if the standard library does not. To check for
availability of std::uNNstring, use the new Q_STDLIB_UNICODE_STRINGS
macro.
Change-Id: I8f210fd7f1799fe21faf54506475a759b1f76a59
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-03-30 17:49:32 +00:00
|
|
|
Q_STDLIB_UNICODE_STRINGS \
|
2016-08-12 10:30:43 +00:00
|
|
|
Q_ATOMIC_INT16_IS_SUPPORTED \
|
|
|
|
Q_ATOMIC_INT64_IS_SUPPORTED \
|
|
|
|
Q_ATOMIC_INT8_IS_SUPPORTED \
|
|
|
|
Q_DEAD_CODE_FROM_QT4_MAC \
|
|
|
|
Q_DEAD_CODE_FROM_QT4_WIN \
|
|
|
|
Q_DEAD_CODE_FROM_QT4_X11
|
|
|
|
|
|
|
|
# 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_CODECS_CN \
|
|
|
|
Q_EXPORT_CODECS_JP \
|
|
|
|
Q_EXPORT_CODECS_KR \
|
|
|
|
Q_EXPORT_PLUGIN \
|
2012-10-26 12:27:25 +00:00
|
|
|
Q_EXPORT_PLUGIN2 \
|
|
|
|
Q_GADGET \
|
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 \
|
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 \
|
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 \
|
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 \
|
|
|
|
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 \
|
2015-07-27 13:35:55 +00:00
|
|
|
Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6 \
|
2012-10-26 10:39:04 +00:00
|
|
|
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 \
|
2015-07-22 08:52:10 +00:00
|
|
|
Q_MV_IOS
|
2016-02-19 14:16:31 +00:00
|
|
|
|
|
|
|
# Qt 6: Remove
|
|
|
|
falsehoods += \
|
|
|
|
"QT_VERSION >= QT_VERSION_CHECK\\(6,0,0\\)"
|
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" \
|
|
|
|
"*_darwin.cpp" \
|
|
|
|
"*_x11.cpp"
|