Salome HOME
5c311f888cb7d32629c68a380e3e55ec627da950
[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 AC_PATH_X
74 if test "x$x_libraries" != "x"
75 then
76    LXLIB="-L$x_libraries"
77 else
78    LXLIB=""
79 fi
80
81 if test "x$x_libraries" = "x/usr/lib"
82 then
83    LXLIB=""
84 fi
85
86 if test "x$x_libraries" = "x/usr/lib${LIB_LOCATION_SUFFIX}"
87 then
88    LXLIB=""
89 fi
90
91 LOCAL_INCLUDES="$OGL_INCLUDES"
92 LOCAL_LIBS="-lvtksys -lvtkzlib -lvtkpng -lvtkjpeg -lvtktiff -lvtkexpat -lvtksqlite -lvtkmetaio -lvtkverdict -lvtkNetCDF -lvtkDICOMParser -lvtkfreetype -lvtkftgl -lvtkexoIIc -lvtkhdf5 -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"
93
94 dnl VTK install dir
95 if test -z $with_paraview ; then
96   with_paraview=""
97 fi
98 if test "x$with_paraview" = "xyes" ; then
99   dnl in case user wrote --with-paraview=yes
100   with_paraview=""
101 fi
102 if test "x$with_paraview" = "xno" ; then
103   dnl in case user wrote --with-paraview=no
104   with_paraview=""
105   AC_MSG_WARN(Value "no", specified for option --with-paraview, is not supported)
106 fi
107
108 if test "x$with_paraview" != "x" ; then
109   PVHOME="$with_paraview"
110 fi
111
112 if test -z $PVSRCHOME ; then
113   if test -z $PVHOME ; then
114     AC_MSG_WARN(undefined PVHOME and PVSRCHOME variables which specify where ParaView is located)
115   else 
116     PVSRCHOME="$PVHOME/src"
117   fi
118 fi
119
120 if test -z $PVINSTALLHOME ; then
121   if test -z $PVHOME ; then
122     AC_MSG_WARN(undefined PVHOME and PVINSTALLHOME variables which specify where ParaView is located)
123   else
124     PVINSTALLHOME="$PVHOME/bin"
125   fi
126 fi
127     
128 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"
129
130 LOCAL_LIBS="-L$PVINSTALLHOME/bin $LOCAL_LIBS"
131
132 dnl vtk headers
133 CPPFLAGS_old="$CPPFLAGS"
134 CPPFLAGS="$CPPFLAGS $LOCAL_INCLUDES $QT_INCLUDES"
135
136 AC_CHECK_HEADER(pqApplicationCore.h,paraview_ok="yes",paraview_ok="no")
137
138 CPPFLAGS="$CPPFLAGS_old"
139
140 if test "x$paraview_ok" = "xyes"
141 then
142    PARAVIEW_INCLUDES="$LOCAL_INCLUDES"
143
144    dnl vtk libraries
145
146    AC_MSG_CHECKING(linking ParaView component library)
147
148    LIBS_old="$LIBS"
149    LIBS="$LIBS $QT_LIBS $LOCAL_LIBS"
150    CPPFLAGS_old="$CPPFLAGS"
151    CPPFLAGS="$CPPFLAGS $QT_INCLUDES $PARAVIEW_INCLUDES"
152
153    dnl VTKPY_MODULES="$VTKHOME/python"
154
155    AC_CACHE_VAL(salome_cv_lib_paraview,[
156      AC_TRY_LINK([#include "pqApplicationCore.h"
157                  ],
158                  [pqApplicationCore::instance()],
159                  [salome_cv_lib_paraview=yes],
160                  [salome_cv_lib_paraview=no])
161    ])
162    paraview_ok="$salome_cv_lib_paraview"
163    LIBS="$LIBS_old"
164    CPPFLAGS="$CPPFLAGS_old"
165 fi
166
167 if  test "x$paraview_ok" = "xno"
168 then
169   AC_MSG_RESULT(no)
170   AC_MSG_WARN(unable to link with ParaView component library)
171 else
172   AC_MSG_RESULT(yes)
173   PARAVIEW_LIBS="$LOCAL_LIBS"
174 fi
175
176 AC_MSG_RESULT(for ParaView: $paraview_ok)
177
178 AC_LANG_RESTORE
179
180 # Save cache
181 AC_CACHE_SAVE
182
183 ])dnl