much better qt tests; refs #33
This commit is contained in:
72
ax_check_qt.m4
Normal file
72
ax_check_qt.m4
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# SYNOPSIS
|
||||||
|
#
|
||||||
|
# AX_CXX_CHECK_QT([qt_prefix], [list-of-qt-modules])
|
||||||
|
#
|
||||||
|
# DESCRIPTIONS
|
||||||
|
#
|
||||||
|
# qt_prefix
|
||||||
|
#
|
||||||
|
# Each call to AX_CXX_CHECK_QT should have a different prefix
|
||||||
|
# value (with a few exceptions discussed later on). This value,
|
||||||
|
# usually provided in uppercase, is used as prefix to the
|
||||||
|
# variables holding the compiler flags and libraries reported by
|
||||||
|
# pkg-config.
|
||||||
|
#
|
||||||
|
# For instance, if your prefix was to be FOO you'll be provided
|
||||||
|
# two variables FOO_CFLAGS and FOO_LIBS.
|
||||||
|
#
|
||||||
|
# This will also be used as message during the configure checks:
|
||||||
|
# checking for FOO....
|
||||||
|
#
|
||||||
|
# list-of-modules
|
||||||
|
#
|
||||||
|
# A single call to the macro can check for the presence of one or
|
||||||
|
# more qt modules; you'll see later how to make good use of this
|
||||||
|
# feature. Each entry in the list can have a version comparison
|
||||||
|
# specifier, with the same syntax as the Requires keyword in the
|
||||||
|
# data files themselves.
|
||||||
|
|
||||||
|
AC_DEFUN([AX_CXX_QT_TOOL], [
|
||||||
|
AC_ARG_VAR([$1], [path to Qt tool $2])
|
||||||
|
$1=${$1:-$(pkg-config --variable=$2_location Qt5Core)}
|
||||||
|
$1=${$1:-$(pkg-config --variable=host_bins Qt5Core)/$2}
|
||||||
|
$1=${$1:-$(pkg-config --variable=$2_location QtCore)}
|
||||||
|
$1=${$1:-$(pkg-config --variable=host_bins QtCore)/$2}
|
||||||
|
if ! which "$$1" > /dev/null; then
|
||||||
|
if which "$2" > /dev/null; then
|
||||||
|
$1=$2
|
||||||
|
else
|
||||||
|
if test -n "$$1"; then
|
||||||
|
AC_MSG_ERROR([Missing Qt program: $2 (tested: $$1)])
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([Missing Qt program: $2 (specify variable $1)])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST($1)
|
||||||
|
AC_MSG_NOTICE([using $$1 for $2])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([AX_CXX_QT_TOOLS], [
|
||||||
|
AX_CXX_QT_TOOL(MOC, moc)
|
||||||
|
AX_CXX_QT_TOOL(UIC, uic)
|
||||||
|
AX_CXX_QT_TOOL(RCC, rcc)
|
||||||
|
AX_CXX_QT_TOOL(LUPDATE, lupdate)
|
||||||
|
AX_CXX_QT_TOOL(LRELEASE, lrelease)
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([AX_CXX_CHECK_QT], [
|
||||||
|
qt_modules="$2"
|
||||||
|
AX_CXX_QT_TOOLS
|
||||||
|
HAVE_$1=0
|
||||||
|
PKG_CHECK_MODULES([$1], [${qt_modules//Qt/Qt5}], [
|
||||||
|
HAVE_$1=1
|
||||||
|
AC_DEFINE([HAVE_$1])
|
||||||
|
], [
|
||||||
|
PKG_CHECK_MODULES([$1], [${qt_modules}], [
|
||||||
|
HAVE_$1=1
|
||||||
|
AC_DEFINE([HAVE_$1])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
AM_CONDITIONAL(HAVE_$1, test $HAVE_$1 -eq 1)
|
||||||
|
])
|
50
configure.in
50
configure.in
@@ -1,5 +1,6 @@
|
|||||||
# $Id$
|
# $Id$
|
||||||
m4_include(ax_cxx_compile_stdcxx_11.m4)
|
m4_include(ax_cxx_compile_stdcxx_11.m4)
|
||||||
|
m4_include(ax_check_qt.m4)
|
||||||
AC_ALIAS([AC_DEFINE_DIR], [AX_DEFINE_DIR])
|
AC_ALIAS([AC_DEFINE_DIR], [AX_DEFINE_DIR])
|
||||||
AC_DEFUN([AX_DEFINE_DIR], [
|
AC_DEFUN([AX_DEFINE_DIR], [
|
||||||
prefix_NONE=
|
prefix_NONE=
|
||||||
@@ -112,52 +113,9 @@ dnl problem in libs: -Wshadow -Wcast-qual
|
|||||||
dnl auto.hpp: -Wno-ctor-dtor-privacy (removed)
|
dnl auto.hpp: -Wno-ctor-dtor-privacy (removed)
|
||||||
dnl AC_CHECK_HEADER([pkcs11.h], [], [AC_MSG_ERROR([Header pkcs11.h is required])])
|
dnl AC_CHECK_HEADER([pkcs11.h], [], [AC_MSG_ERROR([Header pkcs11.h is required])])
|
||||||
dnl AC_CHECK_HEADER([wintypes.h], [], [AC_MSG_ERROR([Header wintypes.h is required])])
|
dnl AC_CHECK_HEADER([wintypes.h], [], [AC_MSG_ERROR([Header wintypes.h is required])])
|
||||||
PKG_CHECK_MODULES([QT_GUI], [Qt5Core Qt5Gui Qt5Widgets],
|
AC_CHECK_HEADER([mrw/checkcxx11.hxx], [], [AC_MSG_ERROR([please install mrw-c++])])
|
||||||
[AC_DEFINE([HAVE_QTGUI])
|
AX_CXX_CHECK_QT([QTGUI], [QtCore QtGui QtWidgets])
|
||||||
UIC=${UIC:-$(pkg-config --variable=uic_location Qt5Core)}
|
AX_CXX_CHECK_QT([QTNETWORK], [QtNetwork])
|
||||||
UIC=${UIC:-$(pkg-config --variable=host_bins Qt5Core)/uic}
|
|
||||||
MOC=${MOC:-$(pkg-config --variable=moc_location Qt5Core)}
|
|
||||||
MOC=${MOC:-$(pkg-config --variable=host_bins Qt5Core)/moc}
|
|
||||||
have_qtgui=1],
|
|
||||||
[PKG_CHECK_MODULES([QT_GUI], [QtCore QtGui],
|
|
||||||
[AC_DEFINE([HAVE_QTGUI])
|
|
||||||
UIC=${UIC:-$(pkg-config --variable=uic_location QtCore)}
|
|
||||||
UIC=${UIC:-$(pkg-config --variable=host_bins QtCore)/uic}
|
|
||||||
MOC=${MOC:-$(pkg-config --variable=moc_location QtCore)}
|
|
||||||
MOC=${MOC:-$(pkg-config --variable=host_bins QtCore)/moc}
|
|
||||||
have_qtgui=1],
|
|
||||||
[have_qtgui=0])])
|
|
||||||
AM_CONDITIONAL(HAVE_QTGUI, test "$have_qtgui" = "1")
|
|
||||||
PKG_CHECK_MODULES([QT_NETWORK], [Qt5Network],
|
|
||||||
[UIC=${UIC:-$(pkg-config --variable=uic_location Qt5Core)}
|
|
||||||
UIC=${UIC:-$(pkg-config --variable=host_bins Qt5Core)/uic}
|
|
||||||
MOC=${MOC:-$(pkg-config --variable=moc_location Qt5Core)}
|
|
||||||
MOC=${MOC:-$(pkg-config --variable=host_bins Qt5Core)/moc}
|
|
||||||
have_qtnetwork=1],
|
|
||||||
[PKG_CHECK_MODULES([QT_NETWORK], [QtNetwork],
|
|
||||||
[AC_DEFINE([HAVE_QTNETWORK])
|
|
||||||
UIC=${UIC:-$(pkg-config --variable=uic_location QtCore)}
|
|
||||||
UIC=${UIC:-$(pkg-config --variable=host_bins QtCore)/uic}
|
|
||||||
MOC=${MOC:-$(pkg-config --variable=moc_location QtCore)}
|
|
||||||
MOC=${MOC:-$(pkg-config --variable=host_bins QtCore)/moc}
|
|
||||||
have_qtnetwork=1],
|
|
||||||
[have_qtnetwork=0])])
|
|
||||||
AM_CONDITIONAL(HAVE_QTNETWORK, test "$have_qtnetwork" = "1")
|
|
||||||
if test $have_qtgui -eq 1 -o $have_qtnetwork -eq 1 \
|
|
||||||
&& ! which "$UIC" "$MOC"; then
|
|
||||||
if test -n "$MOC" && which "${UIC:=${MOC/moc/uic}}"; then
|
|
||||||
AC_MSG_NOTICE([Detected: "$UIC" "$MOC"])
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([Missing QT Programs.
|
|
||||||
- Needed: uic moc
|
|
||||||
- Found: $UIC $MOC
|
|
||||||
You can specify the missing programs by passing one of the variables:
|
|
||||||
\$UIC \$MOC
|
|
||||||
Often it is sufficient to specify MOC=/path/to/moc ./configure)])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
AC_SUBST(UIC)
|
|
||||||
AC_SUBST(MOC)
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(pedantic,
|
AC_ARG_ENABLE(pedantic,
|
||||||
[AS_HELP_STRING([--enable-pedantic],
|
[AS_HELP_STRING([--enable-pedantic],
|
||||||
|
Reference in New Issue
Block a user