diff options
Diffstat (limited to 'm4/qt.m4')
-rw-r--r-- | m4/qt.m4 | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/m4/qt.m4 b/m4/qt.m4 new file mode 100644 index 00000000..d3be7f88 --- /dev/null +++ b/m4/qt.m4 @@ -0,0 +1,56 @@ +dnl qt.m4 +dnl Copyright (C) 2016 Intevation GmbH +dnl +dnl This file is part of gpgme and is provided under the same license as gpgme + +dnl Autoconf macro to find either Qt4 or Qt5 +dnl +dnl sets GPGME_QT_LIBS and GPGME_QT_CFLAGS +dnl +dnl if QT5 was found have_qt5_libs is set to yes + +AC_DEFUN([FIND_QT], +[ + have_qt5_libs="no"; + + PKG_CHECK_MODULES(GPGME_QT, + Qt5Core >= 5.0.0, + [have_qt5_libs="yes"], + [have_qt5_libs="no"]) + + PKG_CHECK_MODULES(GPGME_QTTEST, + Qt5Test >= 5.0.0, + [have_qt5test_libs="yes"], + [have_qt5test_libs="no"]) + + if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then + GPGME_QT_CFLAGS="$GPGME_QT_CFLAGS -fpic" + fi + if test "$have_qt5_libs" = "yes"; then + AC_CHECK_TOOL(MOC, moc) + AC_MSG_CHECKING([moc version]) + mocversion=`$MOC -v 2>&1` + mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"` + if test x"$mocversiongrep" != x"$mocversion"; then + AC_MSG_RESULT([no]) + # moc was not the qt5 one, try with moc-qt5 + AC_CHECK_TOOL(MOC2, moc-qt5) + mocversion=`$MOC2 -v 2>&1` + mocversiongrep=`echo $mocversion | grep "Qt 5\|moc-qt5 5\|moc 5"` + if test x"$mocversiongrep" != x"$mocversion"; then + AC_CHECK_TOOL(QTCHOOSER, qtchooser) + qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2` + mocversion=`$qt5tooldir/moc -v 2>&1` + mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"` + if test x"$mocversiongrep" != x"$mocversion"; then + # no valid moc found + have_qt5_libs="no"; + else + MOC=$qt5tooldir/moc + fi + else + MOC=$MOC2 + fi + fi + fi +]) |