Qt: Add a unit test for qgpgme
[gpgme.git] / m4 / qt.m4
1 dnl qt.m4
2 dnl Copyright (C) 2016 Intevation GmbH
3 dnl
4 dnl This file is part of gpgme and is provided under the same license as gpgme
5
6 dnl Autoconf macro to find either Qt4 or Qt5
7 dnl
8 dnl sets GPGME_QT_LIBS and GPGME_QT_CFLAGS
9 dnl
10 dnl if QT5 was found have_qt5_libs is set to yes
11
12 AC_DEFUN([FIND_QT],
13 [
14   have_qt5_libs="no";
15
16   PKG_CHECK_MODULES(GPGME_QT,
17                     Qt5Core >= 5.0.0,
18                     [have_qt5_libs="yes"],
19                     [have_qt5_libs="no"])
20
21   PKG_CHECK_MODULES(GPGME_QTTEST,
22                     Qt5Test >= 5.0.0,
23                     [have_qt5test_libs="yes"],
24                     [have_qt5test_libs="no"])
25
26   if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then
27     GPGME_QT_CFLAGS="$GPGME_QT_CFLAGS -fpic"
28   fi
29   if test "$have_qt5_libs" = "yes"; then
30     AC_CHECK_TOOL(MOC, moc)
31     AC_MSG_CHECKING([moc version])
32     mocversion=`$MOC -v 2>&1`
33     mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
34     if test x"$mocversiongrep" != x"$mocversion"; then
35       AC_MSG_RESULT([no])
36       # moc was not the qt5 one, try with moc-qt5
37       AC_CHECK_TOOL(MOC2, moc-qt5)
38       mocversion=`$MOC2 -v 2>&1`
39       mocversiongrep=`echo $mocversion | grep "Qt 5\|moc-qt5 5\|moc 5"`
40       if test x"$mocversiongrep" != x"$mocversion"; then
41         AC_CHECK_TOOL(QTCHOOSER, qtchooser)
42         qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2`
43         mocversion=`$qt5tooldir/moc -v 2>&1`
44         mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
45         if test x"$mocversiongrep" != x"$mocversion"; then
46           # no valid moc found
47           have_qt5_libs="no";
48         else
49           MOC=$qt5tooldir/moc
50         fi
51       else
52         MOC=$MOC2
53       fi
54     fi
55   fi
56 ])