mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-14 02:30:33 +05:00
47e405c5ea
file, a -DHAVE_NETGEN idl has to be added when compiling SMESH with netgen to the idl c++ flags as well as to the idl python flags.
127 lines
5.6 KiB
Plaintext
127 lines
5.6 KiB
Plaintext
AC_DEFUN([CHECK_NETGEN],[
|
|
|
|
AC_REQUIRE([AC_PROG_CXX])dnl
|
|
AC_REQUIRE([AC_PROG_CXXCPP])dnl
|
|
|
|
AC_CHECKING(for Netgen Libraries)
|
|
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
AC_ARG_WITH(netgen,
|
|
[ --with-netgen=DIR root directory path of NETGEN installation],
|
|
WITHNETGEN="yes",WITHNETGEN="no")
|
|
|
|
NETGEN_INCLUDES=""
|
|
NETGEN_LIBS=""
|
|
|
|
Netgen_ok=no
|
|
|
|
if test "$WITHNETGEN" = yes; then
|
|
|
|
echo
|
|
echo
|
|
echo -------------------------------------------------
|
|
echo You are about to choose to use somehow the
|
|
echo Netgen Library to generate Tetrahedric mesh.
|
|
echo
|
|
echo WARNING
|
|
echo ----------------------------------------------------------
|
|
echo ----------------------------------------------------------
|
|
echo You are strongly advised to consult the file
|
|
echo SMESH_SRC/src/NETGEN/ReadMeForNgUsers, particularly about
|
|
echo assumptions made on the installation of the Netgen
|
|
echo application and libraries.
|
|
echo Ask your system administrator for those details.
|
|
echo ----------------------------------------------------------
|
|
echo ----------------------------------------------------------
|
|
echo
|
|
echo
|
|
|
|
NETGEN_HOME=$withval
|
|
|
|
if test "$NETGEN_HOME"; then
|
|
NETGEN_INCLUDES="-I$NETGEN_HOME/include"
|
|
NETGEN_LIBS_DIR="$NETGEN_HOME/lib/LINUX"
|
|
NETGEN_LIBS="-L$NETGEN_LIBS_DIR"
|
|
fi
|
|
|
|
CPPFLAGS_old="$CPPFLAGS"
|
|
CPPFLAGS="$NETGEN_INCLUDES $CPPFLAGS"
|
|
CXXFLAGS_old="$CXXFLAGS"
|
|
CXXFLAGS="$NETGEN_INCLUDES $CXXFLAGS"
|
|
|
|
AC_MSG_CHECKING(for Netgen header file)
|
|
|
|
AC_CHECK_HEADER(nglib.h,Netgen_ok=yes,Netgen_ok=no)
|
|
CPPFLAGS="$CPPFLAGS_old"
|
|
CXXFLAGS="$CXXFLAGS_old"
|
|
|
|
if test "$WITHNETGEN" = "yes";then
|
|
NETGEN_LIBS="-L. -lNETGEN"
|
|
|
|
AC_MSG_CHECKING(for Netgen libraries)
|
|
|
|
CPPFLAGS_old="$CPPFLAGS"
|
|
CPPFLAGS="$NETGEN_INCLUDES $CPPFLAGS"
|
|
CXXFLAGS_old="$CXXFLAGS"
|
|
CXXFLAGS="$NETGEN_INCLUDES $CXXFLAGS"
|
|
|
|
LDFLAGS_old="$LDFLAGS"
|
|
LDFLAGS="$NETGEN_LIBS $LDFLAGS"
|
|
|
|
AC_TRY_COMPILE(#include <iostream.h>
|
|
#include <fstream.h>
|
|
#include "nglib.h"
|
|
,Ng_Init();
|
|
Ng_Exit();,Netgen_ok=yes;ar x "$NETGEN_LIBS_DIR"/libnginterface.a;
|
|
ar x "$NETGEN_LIBS_DIR"/libcsg.a;
|
|
ar x "$NETGEN_LIBS_DIR"/libgprim.a;
|
|
ar x "$NETGEN_LIBS_DIR"/libmesh.a;
|
|
ar x "$NETGEN_LIBS_DIR"/libopti.a;
|
|
ar x "$NETGEN_LIBS_DIR"/libgen.a;
|
|
ar x "$NETGEN_LIBS_DIR"/libla.a;
|
|
ar x "$NETGEN_LIBS_DIR"/libstlgeom.a;
|
|
ar x "$NETGEN_LIBS_DIR"/libgeom2d.a;
|
|
"$CXX" -shared linopt.o bfgs.o linsearch.o global.o bisect.o meshtool.o refine.o ruler3.o improve3.o adfront3.o tetrarls.o prism2rls.o pyramidrls.o pyramid2rls.o netrule3.o ruler2.o meshclass.o improve2.o adfront2.o netrule2.o triarls.o geomsearch.o secondorder.o meshtype.o parser3.o quadrls.o specials.o parser2.o meshing2.o meshing3.o meshfunc.o localh.o improve2gen.o delaunay.o boundarylayer.o msghandler.o meshfunc2d.o smoothing2.o smoothing3.o topology.o curvedelems.o clusters.o zrefine.o ngexception.o geomtest3d.o geom2d.o geom3d.o adtree.o transform3d.o geomfuncs.o polynomial.o densemat.o vector.o basemat.o sparsmat.o algprim.o brick.o manifold.o bspline2d.o meshsurf.o csgeom.o polyhedra.o curve2d.o singularref.o edgeflw.o solid.o explicitcurve2d.o specpoin.o gencyl.o revolution.o genmesh.o spline3d.o surface.o identify.o triapprox.o meshstlsurface.o stlline.o stltopology.o stltool.o stlgeom.o stlgeomchart.o stlgeommesh.o table.o optmem.o spbita2d.o hashtabl.o sort.o flags.o seti.o bitarray.o array.o symbolta.o mystring.o moveablemem.o spline2d.o splinegeometry2.o ngnewdelete.o nglib.o -o libNETGEN.so;
|
|
rm -rf adfront2.o adfront3.o adtree.o algprim.o array.o basemat.o bfgs.o bisect.o bitarray.o boundarylayer.o brick.o bspline2d.o clusters.o csgeom.o csgparser.o curve2d.o curvedelems.o delaunay.o densemat.o dynamicmem.o edgeflw.o explicitcurve2d.o extrusion.o flags.o gencyl.o genmesh.o geom2dmesh.o geom2d.o geom3d.o geomfuncs.o geomsearch.o geomtest3d.o global.o hashtabl.o hprefinement.o identify.o importsolution.o improve2gen.o improve2.o improve3.o linopt.o linsearch.o localh.o manifold.o meshclass.o meshfunc2d.o meshfunc.o meshing2.o meshing3.o meshstlsurface.o meshsurf.o meshtool.o meshtype.o moveablemem.o msghandler.o mystring.o netrule2.o netrule3.o ngexception.o nglib.o ngnewdelete.o optmem.o parser2.o parser3.o parthreads.o polyhedra.o polynomial.o prism2rls.o pyramid2rls.o pyramidrls.o quadrls.o readuser.o refine.o revolution.o ruler2.o ruler3.o secondorder.o seti.o singularref.o smoothing2.o smoothing3.o solid.o sort.o sparsmat.o spbita2d.o specials.o specpoin.o spline2d.o spline3d.o splinegeometry2.o stlgeomchart.o stlgeommesh.o stlgeom.o stlline.o stltool.o stltopology.o surface.o symbolta.o table.o tetrarls.o topology.o transform3d.o triapprox.o triarls.o vector.o writeabaqus.o writediffpack.o writefeap.o writefluent.o writepermas.o writetecplot.o writetochnog.o writeuser.o wuchemnitz.o zrefine.o,
|
|
Netgen_ok=no)
|
|
|
|
AC_CACHE_VAL(salome_netgen_lib,[
|
|
AC_TRY_LINK(
|
|
#include <iostream.h>
|
|
#include <fstream.h>
|
|
#include "nglib.h"
|
|
,Ng_Init();
|
|
Ng_Exit();,
|
|
eval "salome_netgen_lib=yes";rm -rf libNETGEN.so,eval "salome_netgen_lib=no";rm -rf libNETGEN.so)
|
|
])
|
|
Netgen_ok="$salome_netgen_lib"
|
|
|
|
|
|
LDFLAGS="$LDFLAGS_old"
|
|
CPPFLAGS="$CPPFLAGS_old"
|
|
CXXFLAGS="$CXXFLAGS_old"
|
|
fi
|
|
|
|
|
|
if test "x$Netgen_ok" = xno ; then
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_WARN(Netgen libraries not found or not properly installed)
|
|
else
|
|
AC_MSG_RESULT(yes)
|
|
NETGEN_LIBS="-lNETGEN"
|
|
CPPFLAGS="${CPPFLAGS} -DHAVE_NETGEN"
|
|
IDLCXXFLAGS="${IDLCXXFLAGS} -DHAVE_NETGEN"
|
|
IDLPYFLAGS="${IDLPYFLAGS} -DHAVE_NETGEN"
|
|
fi
|
|
fi
|
|
AC_SUBST(NETGEN_INCLUDES)
|
|
AC_SUBST(NETGEN_LIBS)
|
|
AC_SUBST(NETGEN_LIBS_DIR)
|
|
AC_SUBST(WITHNETGEN)
|
|
|
|
AC_LANG_RESTORE
|
|
|
|
])dnl
|