80e22459a29e78b552b93cc951fc7004a8813a38
[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   if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then
22     GPGME_QT_CFLAGS="$GPGME_QT_CFLAGS -fpic"
23   fi
24   if test "$have_qt5_libs" = "yes"; then
25     AC_CHECK_TOOL(MOC, moc)
26     AC_MSG_CHECKING([moc version])
27     mocversion=`$MOC -v 2>&1`
28     mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
29     if test x"$mocversiongrep" != x"$mocversion"; then
30       AC_MSG_RESULT([no])
31       # moc was not the qt5 one, try with moc-qt5
32       AC_CHECK_TOOL(MOC2, moc-qt5)
33       mocversion=`$MOC2 -v 2>&1`
34       mocversiongrep=`echo $mocversion | grep "Qt 5\|moc-qt5 5\|moc 5"`
35       if test x"$mocversiongrep" != x"$mocversion"; then
36         AC_CHECK_TOOL(QTCHOOSER, qtchooser)
37         qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2`
38         mocversion=`$qt5tooldir/moc -v 2>&1`
39         mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
40         if test x"$mocversiongrep" != x"$mocversion"; then
41           # no valid moc found
42           have_qt5_libs="no";
43         else
44           MOC=$qt5tooldir/moc
45         fi
46       else
47         MOC=$MOC2
48       fi
49     fi
50   fi
51 ])