Salome HOME
36d0636cf9612fbfaa97759ae40a213f64f76554
[modules/kernel.git] / salome_adm / unix / config_files / check_qt.m4
1
2 AC_DEFUN([CHECK_QT],[
3 AC_REQUIRE([AC_PROG_CC])dnl
4 AC_REQUIRE([AC_PROG_CXX])dnl
5 AC_REQUIRE([AC_PROG_CPP])dnl
6 AC_REQUIRE([AC_PROG_CXXCPP])dnl
7 AC_REQUIRE([CHECK_OPENGL])dnl
8
9 AC_CHECKING(for QT)
10 qt_ok=yes
11
12 AC_LANG_SAVE
13 AC_LANG_CPLUSPLUS
14
15 if test "x$QTDIR" = "x"
16 then
17    AC_MSG_RESULT(please define QTDIR variable)
18    qt_ok=no
19 fi
20
21 if  test "x$qt_ok" = "xyes"
22 then
23   if test -f ${QTDIR}/bin/moc
24   then
25     MOC=${QTDIR}/bin/moc
26   else
27     AC_PATH_PROG(MOC, moc)
28   fi
29   if test "x$MOC" = "x"
30   then
31     qt_ok=no
32     AC_MSG_RESULT(moc qt-compiler not in PATH variable)
33   else
34     qt_ok=yes
35     AC_MSG_RESULT(moc found)
36   fi
37 fi
38
39 if  test "x$qt_ok" = "xyes"
40 then
41   if test -f ${QTDIR}/bin/uic
42   then
43     UIC=${QTDIR}/bin/uic
44   else
45     AC_PATH_PROG(UIC, uic)
46   fi
47   if test "x$UIC" = "x"
48   then
49     qt_ok=no
50     AC_MSG_RESULT(uic qt-interface compiler not in PATH variable)
51   else
52     qt_ok=yes
53     AC_MSG_RESULT(uic found)
54   fi
55 fi
56
57 AC_SUBST(QTDIR)
58 QT_ROOT=$QTDIR
59
60 if  test "x$qt_ok" = "xyes"
61 then
62   AC_MSG_CHECKING(include of qt headers)
63
64   CPPFLAGS_old=$CPPFLAGS
65   CPPFLAGS="$CPPFLAGS -I$QTDIR/include"
66
67   AC_LANG_CPLUSPLUS
68   AC_CHECK_HEADER(qaction.h,qt_ok=yes ,qt_ok=no)
69
70   CPPFLAGS=$CPPFLAGS_old
71
72   if  test "x$qt_ok" = "xno"
73   then
74     AC_MSG_RESULT(qt headers not found, or too old qt version, in $QTDIR/include)
75     AC_MSG_RESULT(QTDIR environment variable may be wrong)
76   else
77     AC_MSG_RESULT(yes)
78        QT_INCLUDES="-I${QT_ROOT}/include -DQT_THREAD_SUPPORT"
79     QT_MT_INCLUDES="-I${QT_ROOT}/include -DQT_THREAD_SUPPORT"
80   fi
81 fi
82
83 if  test "x$qt_ok" = "xyes"
84 then
85   AC_MSG_CHECKING(linking qt library)
86   LIBS_old=$LIBS
87   LIBS="$LIBS -L$QTDIR/lib -lqt-mt $OGL_LIBS"
88
89   CXXFLAGS_old=$CXXFLAGS
90   CXXFLAGS="$CXXFLAGS -I$QTDIR/include"
91
92   AC_CACHE_VAL(salome_cv_lib_qt,[
93     AC_TRY_LINK(
94 #include <qapplication.h>
95 ,   int n;
96     char **s;
97     QApplication a(n, s);
98     a.exec();,
99     eval "salome_cv_lib_qt=yes",eval "salome_cv_lib_qt=no")
100   ])
101   qt_ok="$salome_cv_lib_qt"
102
103   if  test "x$qt_ok" = "xno"
104   then
105     AC_MSG_RESULT(unable to link with qt library)
106     AC_MSG_RESULT(QTDIR environment variable may be wrong)
107   else
108     AC_MSG_RESULT(yes)
109        QT_LIBS="-L$QTDIR/lib -lqt-mt"
110     QT_MT_LIBS="-L$QTDIR/lib -lqt-mt"
111   fi
112
113   LIBS=$LIBS_old
114   CXXFLAGS=$CXXFLAGS_old
115
116 fi
117
118 AC_SUBST(MOC)
119 AC_SUBST(UIC)
120
121 AC_SUBST(QT_ROOT)
122 AC_SUBST(QT_INCLUDES)
123 AC_SUBST(QT_LIBS)
124 AC_SUBST(QT_MT_LIBS)
125
126 AC_LANG_RESTORE
127
128 AC_MSG_RESULT(for qt: $qt_ok)
129
130 # Save cache
131 AC_CACHE_SAVE
132
133 ])dnl
134 dnl