Merge #15393: build: Bump minimum Qt version to 5.5.1
fd46c4c00
Bump minimum Qt version to 5.5.1 (Sjors Provoost)
Pull request description:
Fixes #13478
Compiled and lightly tested on 10.14.3 against QT 5.12.0.
Tree-SHA512: 6890331969bbf4c66dc0993b8817b1f0831d008f5863554e9c09a38f4700260b84044ff961664c377decc9fb8300e3543c267f935ec64fbc97b20f8fb396247a
This commit is contained in:
commit
3b33cbc2b6
6 changed files with 8 additions and 32 deletions
|
@ -116,24 +116,6 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
||||||
if test "x$bitcoin_cv_static_qt" = xyes; then
|
if test "x$bitcoin_cv_static_qt" = xyes; then
|
||||||
_BITCOIN_QT_FIND_STATIC_PLUGINS
|
_BITCOIN_QT_FIND_STATIC_PLUGINS
|
||||||
AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol if qt plugins are static])
|
AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol if qt plugins are static])
|
||||||
AC_CACHE_CHECK(for Qt < 5.4, bitcoin_cv_need_acc_widget,[
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
||||||
#include <QtCore/qconfig.h>
|
|
||||||
#ifndef QT_VERSION
|
|
||||||
# include <QtCore/qglobal.h>
|
|
||||||
#endif
|
|
||||||
]],
|
|
||||||
[[
|
|
||||||
#if QT_VERSION >= 0x050400
|
|
||||||
choke
|
|
||||||
#endif
|
|
||||||
]])],
|
|
||||||
[bitcoin_cv_need_acc_widget=yes],
|
|
||||||
[bitcoin_cv_need_acc_widget=no])
|
|
||||||
])
|
|
||||||
if test "x$bitcoin_cv_need_acc_widget" = xyes; then
|
|
||||||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(AccessibleFactory)], [-lqtaccessiblewidgets])
|
|
||||||
fi
|
|
||||||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal])
|
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal])
|
||||||
AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists])
|
AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists])
|
||||||
if test "x$TARGET_OS" = xwindows; then
|
if test "x$TARGET_OS" = xwindows; then
|
||||||
|
@ -264,7 +246,7 @@ dnl All macros below are internal and should _not_ be used from the main
|
||||||
dnl configure.ac.
|
dnl configure.ac.
|
||||||
dnl ----
|
dnl ----
|
||||||
|
|
||||||
dnl Internal. Check if the included version of Qt is Qt5.
|
dnl Internal. Check included version of Qt against minimum specified in doc/dependencies.md
|
||||||
dnl Requires: INCLUDES must be populated as necessary.
|
dnl Requires: INCLUDES must be populated as necessary.
|
||||||
dnl Output: bitcoin_cv_qt5=yes|no
|
dnl Output: bitcoin_cv_qt5=yes|no
|
||||||
AC_DEFUN([_BITCOIN_QT_CHECK_QT5],[
|
AC_DEFUN([_BITCOIN_QT_CHECK_QT5],[
|
||||||
|
@ -276,7 +258,7 @@ AC_DEFUN([_BITCOIN_QT_CHECK_QT5],[
|
||||||
#endif
|
#endif
|
||||||
]],
|
]],
|
||||||
[[
|
[[
|
||||||
#if QT_VERSION < 0x050200 || QT_VERSION_MAJOR < 5
|
#if QT_VERSION < 0x050501
|
||||||
choke
|
choke
|
||||||
#endif
|
#endif
|
||||||
]])],
|
]])],
|
||||||
|
@ -374,9 +356,7 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
|
||||||
fi
|
fi
|
||||||
if test "x$TARGET_OS" = xlinux; then
|
if test "x$TARGET_OS" = xlinux; then
|
||||||
PKG_CHECK_MODULES([X11XCB], [x11-xcb], [QT_LIBS="$X11XCB_LIBS $QT_LIBS"])
|
PKG_CHECK_MODULES([X11XCB], [x11-xcb], [QT_LIBS="$X11XCB_LIBS $QT_LIBS"])
|
||||||
if ${PKG_CONFIG} --exists "Qt5Core >= 5.5" 2>/dev/null; then
|
|
||||||
PKG_CHECK_MODULES([QTXCBQPA], [Qt5XcbQpa], [QT_LIBS="$QTXCBQPA_LIBS $QT_LIBS"])
|
PKG_CHECK_MODULES([QTXCBQPA], [Qt5XcbQpa], [QT_LIBS="$QTXCBQPA_LIBS $QT_LIBS"])
|
||||||
fi
|
|
||||||
elif test "x$TARGET_OS" = xdarwin; then
|
elif test "x$TARGET_OS" = xdarwin; then
|
||||||
PKG_CHECK_MODULES([QTCLIPBOARD], [Qt5ClipboardSupport], [QT_LIBS="-lQt5ClipboardSupport $QT_LIBS"])
|
PKG_CHECK_MODULES([QTCLIPBOARD], [Qt5ClipboardSupport], [QT_LIBS="-lQt5ClipboardSupport $QT_LIBS"])
|
||||||
PKG_CHECK_MODULES([QTGRAPHICS], [Qt5GraphicsSupport], [QT_LIBS="-lQt5GraphicsSupport $QT_LIBS"])
|
PKG_CHECK_MODULES([QTGRAPHICS], [Qt5GraphicsSupport], [QT_LIBS="-lQt5GraphicsSupport $QT_LIBS"])
|
||||||
|
@ -527,4 +507,3 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[
|
||||||
CXXFLAGS="$TEMP_CXXFLAGS"
|
CXXFLAGS="$TEMP_CXXFLAGS"
|
||||||
LIBS="$TEMP_LIBS"
|
LIBS="$TEMP_LIBS"
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ These are the dependencies currently used by Bitcoin Core. You can find instruct
|
||||||
| protobuf | [2.6.1](https://github.com/google/protobuf/releases) | | No | | |
|
| protobuf | [2.6.1](https://github.com/google/protobuf/releases) | | No | | |
|
||||||
| Python (tests) | | [3.4](https://www.python.org/downloads) | | | |
|
| Python (tests) | | [3.4](https://www.python.org/downloads) | | | |
|
||||||
| qrencode | [3.4.4](https://fukuchi.org/works/qrencode) | | No | | |
|
| qrencode | [3.4.4](https://fukuchi.org/works/qrencode) | | No | | |
|
||||||
| Qt | [5.9.7](https://download.qt.io/official_releases/qt/) | [5.2](https://github.com/bitcoin/bitcoin/pull/14725) | No | | |
|
| Qt | [5.9.7](https://download.qt.io/official_releases/qt/) | [5.5.1](https://github.com/bitcoin/bitcoin/issues/13478) | No | | |
|
||||||
| XCB | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L87) (Linux only) |
|
| XCB | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L87) (Linux only) |
|
||||||
| xkbcommon | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L86) (Linux only) |
|
| xkbcommon | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L86) (Linux only) |
|
||||||
| ZeroMQ | [4.3.1](https://github.com/zeromq/libzmq/releases) | 4.0.0 | No | | |
|
| ZeroMQ | [4.3.1](https://github.com/zeromq/libzmq/releases) | 4.0.0 | No | | |
|
||||||
|
|
4
doc/release-notes-15393.md
Normal file
4
doc/release-notes-15393.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Dependencies
|
||||||
|
------------
|
||||||
|
|
||||||
|
- The minimum required version of QT has been increased from 5.2 to 5.5.1 (the [depends system](https://github.com/bitcoin/bitcoin/blob/master/depends/README.md) provides 5.9.7)
|
|
@ -55,9 +55,6 @@
|
||||||
|
|
||||||
#if defined(QT_STATICPLUGIN)
|
#if defined(QT_STATICPLUGIN)
|
||||||
#include <QtPlugin>
|
#include <QtPlugin>
|
||||||
#if QT_VERSION < 0x050400
|
|
||||||
Q_IMPORT_PLUGIN(AccessibleFactory)
|
|
||||||
#endif
|
|
||||||
#if defined(QT_QPA_PLATFORM_XCB)
|
#if defined(QT_QPA_PLATFORM_XCB)
|
||||||
Q_IMPORT_PLUGIN(QXcbIntegrationPlugin);
|
Q_IMPORT_PLUGIN(QXcbIntegrationPlugin);
|
||||||
#elif defined(QT_QPA_PLATFORM_WINDOWS)
|
#elif defined(QT_QPA_PLATFORM_WINDOWS)
|
||||||
|
|
|
@ -27,9 +27,7 @@
|
||||||
#include <QTest>
|
#include <QTest>
|
||||||
#include <QTextEdit>
|
#include <QTextEdit>
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
#if QT_VERSION >= 0x050000
|
|
||||||
#include <QtTest/QtTestWidgets>
|
#include <QtTest/QtTestWidgets>
|
||||||
#endif
|
|
||||||
#include <QtTest/QtTestGui>
|
#include <QtTest/QtTestGui>
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
|
@ -120,7 +120,6 @@ void RPCNestedTests::rpcNestedTests()
|
||||||
RPCConsole::RPCExecuteCommandLine(*node, result, "rpcNestedTest( abc , cba )");
|
RPCConsole::RPCExecuteCommandLine(*node, result, "rpcNestedTest( abc , cba )");
|
||||||
QVERIFY(result == "[\"abc\",\"cba\"]");
|
QVERIFY(result == "[\"abc\",\"cba\"]");
|
||||||
|
|
||||||
#if QT_VERSION >= 0x050300
|
|
||||||
// do the QVERIFY_EXCEPTION_THROWN checks only with Qt5.3 and higher (QVERIFY_EXCEPTION_THROWN was introduced in Qt5.3)
|
// do the QVERIFY_EXCEPTION_THROWN checks only with Qt5.3 and higher (QVERIFY_EXCEPTION_THROWN was introduced in Qt5.3)
|
||||||
QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(*node, result, "getblockchaininfo() .\n"), std::runtime_error); //invalid syntax
|
QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(*node, result, "getblockchaininfo() .\n"), std::runtime_error); //invalid syntax
|
||||||
QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(*node, result, "getblockchaininfo() getblockchaininfo()"), std::runtime_error); //invalid syntax
|
QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(*node, result, "getblockchaininfo() getblockchaininfo()"), std::runtime_error); //invalid syntax
|
||||||
|
@ -131,5 +130,4 @@ void RPCNestedTests::rpcNestedTests()
|
||||||
QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(*node, result, "rpcNestedTest abc,,abc"), std::runtime_error); //don't tollerate empty arguments when using ,
|
QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(*node, result, "rpcNestedTest abc,,abc"), std::runtime_error); //don't tollerate empty arguments when using ,
|
||||||
QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(*node, result, "rpcNestedTest(abc,,abc)"), std::runtime_error); //don't tollerate empty arguments when using ,
|
QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(*node, result, "rpcNestedTest(abc,,abc)"), std::runtime_error); //don't tollerate empty arguments when using ,
|
||||||
QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(*node, result, "rpcNestedTest(abc,,)"), std::runtime_error); //don't tollerate empty arguments when using ,
|
QVERIFY_EXCEPTION_THROWN(RPCConsole::RPCExecuteCommandLine(*node, result, "rpcNestedTest(abc,,)"), std::runtime_error); //don't tollerate empty arguments when using ,
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue