Salome HOME
773ff418676abf05fcbcd8474148e870e1de15f3
[modules/paravis.git] / adm_local / unix / config_files / check_ParaView.m4
1 dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
3 dnl 
4 dnl  This library is free software; you can redistribute it and/or 
5 dnl  modify it under the terms of the GNU Lesser General Public 
6 dnl  License as published by the Free Software Foundation; either 
7 dnl  version 2.1 of the License. 
8 dnl 
9 dnl  This library is distributed in the hope that it will be useful, 
10 dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 dnl  Lesser General Public License for more details. 
13 dnl 
14 dnl  You should have received a copy of the GNU Lesser General Public 
15 dnl  License along with this library; if not, write to the Free Software 
16 dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
17 dnl 
18 dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
19 dnl
20 dnl
21 dnl
22
23 dnl
24 dnl  OPTIONS_PARAVIEW
25 dnl  ------------------------------------------------------------------------
26 dnl  Adds the --with-paraview=path 
27 dnl
28 AC_DEFUN([OPTIONS_PARAVIEW], [
29   AC_ARG_WITH([paraview],
30               [AC_HELP_STRING([--with-paraview], [The prefix where ParaView is located (default "" means taking from PVHOME environment variable)])],
31               [with_paraview=$withval], [with_paraview=""])
32 ])
33
34 dnl
35 dnl  CHECK_PARAVIEW
36 dnl  ------------------------------------------------------------------------
37 dnl  a simplified check that assumes VTK is a part of ParaView, separate location 
38 dnl  for VTK is not supported
39 dnl
40 AC_DEFUN([CHECK_PARAVIEW], [
41 AC_REQUIRE([AC_PROG_CC])dnl
42 AC_REQUIRE([AC_PROG_CXX])dnl
43 AC_REQUIRE([AC_PROG_CPP])dnl
44 AC_REQUIRE([AC_PROG_CXXCPP])dnl
45 AC_REQUIRE([AC_LINKER_OPTIONS])dnl
46
47 AC_REQUIRE([OPTIONS_PARAVIEW])dnl
48
49 AC_CHECKING(for ParaView)
50
51 AC_LANG_SAVE
52 AC_LANG_CPLUSPLUS
53
54 AC_SUBST(PARAVIEW_INCLUDES)
55 AC_SUBST(PARAVIEW_LIBS)
56 dnl AC_SUBST(VTKPY_MODULES)
57
58 PARAVIEW_INCLUDES=""
59 PARAVIEW_LIBS=""
60 dnl VTKPY_MODULES=""
61
62 paraview_ok=no
63
64 if test "x$OpenGL_ok" != "xyes" ; then
65    AC_MSG_WARN(ParaView needs OpenGL correct configuration, check configure output)
66 fi
67
68
69 if test "x$qt_ok" != "xyes" ; then
70    AC_MSG_WARN(ParaView needs Qt correct configuration, check configure output)
71 fi
72
73 if test "x$hdf5_ok" != "xyes" ; then
74    AC_MSG_WARN(ParaView needs correct HDF5 configuration, check configure output)
75 fi
76
77 AC_PATH_X
78 if test "x$x_libraries" != "x"
79 then
80    LXLIB="-L$x_libraries"
81 else
82    LXLIB=""
83 fi
84
85 if test "x$x_libraries" = "x/usr/lib"
86 then
87    LXLIB=""
88 fi
89
90 if test "x$x_libraries" = "x/usr/lib${LIB_LOCATION_SUFFIX}"
91 then
92    LXLIB=""
93 fi
94
95 LOCAL_INCLUDES="$OGL_INCLUDES"
96 LOCAL_LIBS="-lvtksys -lvtkzlib -lvtkpng -lvtkjpeg -lvtktiff -lvtkexpat -lvtksqlite -lvtkmetaio -lvtkverdict -lvtkNetCDF -lvtkDICOMParser -lvtkfreetype -lvtkftgl -lvtkexoIIc -lvtklibxml2 -lvtkCommon -lvtkGraphics -lvtkImaging -lvtkFiltering -lvtkIO -lvtkRendering -lvtkHybrid -lvtkParallel -lvtkWidgets -lvtkClientServer -lvtkCommonCS -lvtkFilteringCS -lvtkIOCS -lvtkImagingCS -lvtkGraphicsCS -lvtkGenericFiltering -lvtkGenericFilteringCS -lvtkRenderingCS -lvtkHybridCS -lvtkParallelCS -lvtkPVCommandOptions -lKWCommon -lvtkInfovis -lvtkInfovisCS -lvtkPVServerCommon -lvtkPVServerCommonCS -lvtkCommonPythonD -lvtkFilteringPythonD -lvtkIOPythonD -lXdmf -lvtkXdmf -lvtkXdmfCS -lvtkWidgetsCS -lvtkVolumeRendering -lvtkVolumeRenderingCS -lvtkPVFilters -lvtkPVFiltersCS -lvtkViews -lvtkPVServerManagerPythonD -lvtkPVServerCommonPythonD -lvtkPVPythonInterpretor -lvtkPVServerManager -lQVTK -lpqWidgets -lQtTesting -lQtChart -lpqCore -lQtPython -lpqComponents $LXLIB -lX11 -lXt"
97
98 dnl VTK install dir
99 if test -z $with_paraview ; then
100   with_paraview=""
101 fi
102 if test "x$with_paraview" = "xyes" ; then
103   dnl in case user wrote --with-paraview=yes
104   with_paraview=""
105 fi
106 if test "x$with_paraview" = "xno" ; then
107   dnl in case user wrote --with-paraview=no
108   with_paraview=""
109   AC_MSG_WARN(Value "no", specified for option --with-paraview, is not supported)
110 fi
111
112 if test "x$with_paraview" != "x" ; then
113   PVHOME="$with_paraview"
114 fi
115
116 if test -z $PVSRCHOME ; then
117   if test -z $PVHOME ; then
118     AC_MSG_WARN(undefined PVHOME and PVSRCHOME variables which specify where ParaView is located)
119   else 
120     PVSRCHOME="$PVHOME/src"
121   fi
122 fi
123
124 if test -z $PVINSTALLHOME ; then
125   if test -z $PVHOME ; then
126     AC_MSG_WARN(undefined PVHOME and PVINSTALLHOME variables which specify where ParaView is located)
127   else
128     PVINSTALLHOME="$PVHOME/bin"
129   fi
130 fi
131     
132 LOCAL_INCLUDES="-I$PVSRCHOME/VTK/Common -I$PVSRCHOME/Qt/Core -I$PVSRCHOME/Qt/Components -I$PVSRCHOME/Servers/Filters -I$PVSRCHOME/Servers/Common -I$PVSRCHOME/Servers/Filters -I$PVSRCHOME/Servers/ServerManager -I$PVSRCHOME/Utilities/VTKClientServer -I$PVSRCHOME/VTK/Filtering -I$PVSRCHOME/VTK/GenericFiltering -I$PVSRCHOME/VTK/Graphics -I$PVSRCHOME/VTK/Hybrid -I$PVSRCHOME/VTK/Imaging -I$PVSRCHOME/VTK/Infovis -I$PVSRCHOME/VTK/IO -I$PVSRCHOME/VTK/Parallel -I$PVSRCHOME/VTK/Rendering -I$PVSRCHOME/VTK/Utilities -I$PVSRCHOME/VTK/Views -I$PVSRCHOME/VTK/VolumeRendering -I$PVSRCHOME/VTK/Widgets -I$PVINSTALLHOME/Qt/Core -I$PVINSTALLHOME/Qt/Components -I$PVINSTALLHOME/Utilities/VTKClientServer -I$PVINSTALLHOME/Servers/Common -I$PVINSTALLHOME/Servers/Filters -I$PVINSTALLHOME/Servers/ServerManager -I$PVINSTALLHOME/VTK -I$PVINSTALLHOME/VTK/Common -I$PVINSTALLHOME/VTK/Filtering -I$PVINSTALLHOME/VTK/GenericFiltering -I$PVINSTALLHOME/VTK/Graphics -I$PVINSTALLHOME/VTK/Hybrid -I$PVINSTALLHOME/VTK/Imaging -I$PVINSTALLHOME/VTK/Infovis -I$PVINSTALLHOME/VTK/IO -I$PVINSTALLHOME/VTK/Parallel -I$PVINSTALLHOME/VTK/Rendering -I$PVINSTALLHOME/VTK/Utilities -I$PVINSTALLHOME/VTK/Views -I$PVINSTALLHOME/VTK/VolumeRendering -I$PVINSTALLHOME/VTK/Widgets $LOCAL_INCLUDES"
133
134 LOCAL_LIBS="-L$PVINSTALLHOME/bin $LOCAL_LIBS"
135
136 dnl vtk headers
137 CPPFLAGS_old="$CPPFLAGS"
138 CPPFLAGS="$CPPFLAGS $LOCAL_INCLUDES $QT_INCLUDES"
139
140 AC_CHECK_HEADER(pqApplicationCore.h,paraview_ok="yes",paraview_ok="no")
141
142 CPPFLAGS="$CPPFLAGS_old"
143
144 if test "x$paraview_ok" = "xyes"
145 then
146    PARAVIEW_INCLUDES="$LOCAL_INCLUDES"
147
148    dnl vtk libraries
149
150    AC_MSG_CHECKING(linking ParaView component library)
151
152    LIBS_old="$LIBS"
153    LIBS="$LIBS $QT_LIBS $LOCAL_LIBS"
154    CPPFLAGS_old="$CPPFLAGS"
155    CPPFLAGS="$CPPFLAGS $QT_INCLUDES $PARAVIEW_INCLUDES"
156
157    dnl VTKPY_MODULES="$VTKHOME/python"
158
159    AC_CACHE_VAL(salome_cv_lib_paraview,[
160      AC_TRY_LINK([#include "pqApplicationCore.h"
161                  ],
162                  [pqApplicationCore::instance()],
163                  [salome_cv_lib_paraview=yes],
164                  [salome_cv_lib_paraview=no])
165    ])
166    paraview_ok="$salome_cv_lib_paraview"
167    LIBS="$LIBS_old"
168    CPPFLAGS="$CPPFLAGS_old"
169 fi
170
171 if  test "x$paraview_ok" = "xno"
172 then
173   AC_MSG_RESULT(no)
174   AC_MSG_WARN(unable to link with ParaView component library)
175 else
176   AC_MSG_RESULT(yes)
177   PARAVIEW_LIBS="$LOCAL_LIBS"
178 fi
179
180 AC_MSG_RESULT(for ParaView: $paraview_ok)
181
182 AC_LANG_RESTORE
183
184 # Save cache
185 AC_CACHE_SAVE
186
187 ])dnl