Skip to content

Commit 4af4672

Browse files
committed
build, qt: Add Qt version checking
1 parent 30e336f commit 4af4672

File tree

2 files changed

+30
-19
lines changed

2 files changed

+30
-19
lines changed

build-aux/m4/bitcoin_qt.m4

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,15 @@ AC_DEFUN([BITCOIN_QT_INIT],[
8080
])
8181

8282
dnl Find Qt libraries and includes.
83+
dnl
84+
dnl BITCOIN_QT_CONFIGURE([MINIMUM-VERSION])
85+
dnl
8386
dnl Outputs: See _BITCOIN_QT_FIND_LIBS
8487
dnl Outputs: Sets variables for all qt-related tools.
8588
dnl Outputs: bitcoin_enable_qt, bitcoin_enable_qt_dbus, bitcoin_enable_qt_test
8689
AC_DEFUN([BITCOIN_QT_CONFIGURE],[
90+
qt_version=">= $1"
91+
qt_lib_prefix="Qt5"
8792
BITCOIN_QT_CHECK([_BITCOIN_QT_FIND_LIBS])
8893
8994
dnl This is ugly and complicated. Yuck. Works as follows:
@@ -221,7 +226,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
221226
bitcoin_enable_qt=no
222227
])
223228
if test x$bitcoin_enable_qt = xyes; then
224-
AC_MSG_RESULT([$bitcoin_enable_qt ($QT_LIB_PREFIX)])
229+
AC_MSG_RESULT([$bitcoin_enable_qt ($qt_lib_prefix)])
225230
else
226231
AC_MSG_RESULT([$bitcoin_enable_qt])
227232
fi
@@ -315,23 +320,29 @@ dnl Internal. Find Qt libraries using pkg-config.
315320
dnl Outputs: All necessary QT_* variables are set.
316321
dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no.
317322
AC_DEFUN([_BITCOIN_QT_FIND_LIBS],[
318-
m4_ifdef([PKG_CHECK_MODULES],[
319-
QT_LIB_PREFIX=Qt5
320-
qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets"
321-
BITCOIN_QT_CHECK([
322-
PKG_CHECK_MODULES([QT5], [$qt5_modules], [QT_INCLUDES="$QT5_CFLAGS"; QT_LIBS="$QT5_LIBS" have_qt=yes],[have_qt=no])
323+
BITCOIN_QT_CHECK([
324+
PKG_CHECK_MODULES([QT_CORE], [${qt_lib_prefix}Core $qt_version], [],
325+
[BITCOIN_QT_FAIL([${qt_lib_prefix}Core $qt_version not found])])
326+
])
327+
BITCOIN_QT_CHECK([
328+
PKG_CHECK_MODULES([QT_GUI], [${qt_lib_prefix}Gui $qt_version], [],
329+
[BITCOIN_QT_FAIL([${qt_lib_prefix}Gui $qt_version not found])])
330+
])
331+
BITCOIN_QT_CHECK([
332+
PKG_CHECK_MODULES([QT_WIDGETS], [${qt_lib_prefix}Widgets $qt_version], [],
333+
[BITCOIN_QT_FAIL([${qt_lib_prefix}Widgets $qt_version not found])])
334+
])
335+
BITCOIN_QT_CHECK([
336+
PKG_CHECK_MODULES([QT_NETWORK], [${qt_lib_prefix}Network $qt_version], [],
337+
[BITCOIN_QT_FAIL([${qt_lib_prefix}Network $qt_version not found])])
338+
])
339+
QT_INCLUDES="$QT_CORE_CFLAGS $QT_GUI_CFLAGS $QT_WIDGETS_CFLAGS $QT_NETWORK_CFLAGS"
340+
QT_LIBS="$QT_CORE_LIBS $QT_GUI_LIBS $QT_WIDGETS_LIBS $QT_NETWORK_LIBS"
323341
324-
if test "x$have_qt" != xyes; then
325-
have_qt=no
326-
BITCOIN_QT_FAIL([Qt dependencies not found])
327-
fi
328-
])
329-
BITCOIN_QT_CHECK([
330-
PKG_CHECK_MODULES([QT_TEST], [${QT_LIB_PREFIX}Test], [QT_TEST_INCLUDES="$QT_TEST_CFLAGS"; have_qt_test=yes], [have_qt_test=no])
331-
if test "x$use_dbus" != xno; then
332-
PKG_CHECK_MODULES([QT_DBUS], [${QT_LIB_PREFIX}DBus], [QT_DBUS_INCLUDES="$QT_DBUS_CFLAGS"; have_qt_dbus=yes], [have_qt_dbus=no])
333-
fi
334-
])
342+
BITCOIN_QT_CHECK([
343+
PKG_CHECK_MODULES([QT_TEST], [${qt_lib_prefix}Test $qt_version], [QT_TEST_INCLUDES="$QT_TEST_CFLAGS"; have_qt_test=yes], [have_qt_test=no])
344+
if test "x$use_dbus" != xno; then
345+
PKG_CHECK_MODULES([QT_DBUS], [${qt_lib_prefix}DBus $qt_version], [QT_DBUS_INCLUDES="$QT_DBUS_CFLAGS"; have_qt_dbus=yes], [have_qt_dbus=no])
346+
fi
335347
])
336-
true; dnl
337348
])

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1134,7 +1134,7 @@ else
11341134
BITCOIN_QT_INIT
11351135

11361136
dnl sets $bitcoin_enable_qt, $bitcoin_enable_qt_test, $bitcoin_enable_qt_dbus
1137-
BITCOIN_QT_CONFIGURE
1137+
BITCOIN_QT_CONFIGURE([5.5.1])
11381138
fi
11391139

11401140
if test x$enable_wallet != xno; then

0 commit comments

Comments
 (0)