spelling: fix misspellings
[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 ! test "$have_w32_system" = yes; then
27     if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then
28       GPGME_QT_CFLAGS="$GPGME_QT_CFLAGS -fpic"
29     fi
30   fi
31   if test "$have_qt5_libs" = "yes"; then
32     AC_CHECK_TOOL(MOC, moc)
33     AC_MSG_CHECKING([moc version])
34     mocversion=`$MOC -v 2>&1`
35     mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"`
36     if test x"$mocversiongrep" != x"$mocversion"; then
37       AC_MSG_RESULT([no])
38       # moc was not the qt5 one, try with moc-qt5
39       AC_CHECK_TOOL(MOC2, moc-qt5)
40       mocversion=`$MOC2 -v 2>&1`
41       mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc-qt5 5|moc 5"`
42       if test x"$mocversiongrep" != x"$mocversion"; then
43         AC_CHECK_TOOL(QTCHOOSER, qtchooser)
44         qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2`
45         mocversion=`$qt5tooldir/moc -v 2>&1`
46         mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"`
47         if test x"$mocversiongrep" != x"$mocversion"; then
48           # no valid moc found
49           have_qt5_libs="no";
50         else
51           MOC=$qt5tooldir/moc
52         fi
53       else
54         MOC=$MOC2
55       fi
56     fi
57     AC_MSG_RESULT([$mocversion])
58     dnl Check that a binary can actually be build with this qt.
59     dnl pkg-config may be set up in a way that it looks also for libraries
60     dnl of the build system and not only for the host system. In that case
61     dnl we check here that we can actually compile / link a qt application
62     dnl for host.
63     OLDCPPFLAGS=$CPPFLAGS
64     CPPFLAGS=$GPGME_QT_CFLAGS
65     OLDLIBS=$LIBS
66     LIBS=$GPGME_QT_LIBS
67     AC_LANG_PUSH(C++)
68     AC_MSG_CHECKING([whether a simple qt program can be built])
69     AC_LINK_IFELSE([AC_LANG_SOURCE([
70     #include <QCoreApplication>
71     int main (int argc, char **argv) {
72     QCoreApplication app(argc, argv);
73     app.exec();
74     }])], [have_qt5_libs='yes'], [have_qt5_libs='no'])
75     AC_MSG_RESULT([$have_qt5_libs])
76     AC_LANG_POP()
77     CPPFLAGS=$OLDCPPFLAGS
78     LIBS=$OLDLIBS
79   fi
80 ])