Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3797701125 | ||
![]() |
7004be4f8a | ||
![]() |
27a9ce955f | ||
![]() |
41ac578763 | ||
![]() |
566aa2640b | ||
![]() |
0b1c10baab | ||
![]() |
33346e31ba | ||
![]() |
1dd5913e4e | ||
![]() |
9ab44e1f03 | ||
![]() |
30b91f7405 | ||
![]() |
a1bb961bcb |
145
adm_local/unix/config_files/check_NETGEN.m4
Normal file
145
adm_local/unix/config_files/check_NETGEN.m4
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
AC_DEFUN([CHECK_NETGEN],[
|
||||||
|
|
||||||
|
AC_REQUIRE([AC_PROG_CXX])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_CXXCPP])dnl
|
||||||
|
|
||||||
|
AC_CHECKING(for Netgen 4.5 and higher Libraries)
|
||||||
|
|
||||||
|
AC_LANG_SAVE
|
||||||
|
AC_LANG_CPLUSPLUS
|
||||||
|
|
||||||
|
AC_ARG_WITH(netgen,
|
||||||
|
[ --with-netgen=DIR root directory path of NETGEN installation],
|
||||||
|
NETGEN_HOME=$withval,NETGEN_HOME="")
|
||||||
|
|
||||||
|
NETGEN_INCLUDES=""
|
||||||
|
NETGEN_LIBS_DIR=""
|
||||||
|
|
||||||
|
Netgen_ok=no
|
||||||
|
|
||||||
|
if test "x$NETGEN_HOME" == "x" ; then
|
||||||
|
|
||||||
|
# no --with-netgen option used
|
||||||
|
if test "x$NETGENHOME" != "x" ; then
|
||||||
|
|
||||||
|
# NETGENHOME environment variable defined
|
||||||
|
NETGEN_HOME=$NETGENHOME
|
||||||
|
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$NETGEN_HOME" != "x"; 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 NETGENPLUGIN_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_INCLUDES="-I${NETGEN_HOME}/include"
|
||||||
|
|
||||||
|
# check ${NETGEN_HOME}/lib/LINUX directory for libraries
|
||||||
|
if test -f ${NETGEN_HOME}/lib/LINUX/libcsg.a ; then
|
||||||
|
NETGEN_LIBS_DIR="${NETGEN_HOME}/lib/LINUX"
|
||||||
|
else
|
||||||
|
# check ${NETGEN_HOME}/lib/LINUX64 directory for libraries
|
||||||
|
if test -f ${NETGEN_HOME}/lib/LINUX64/libcsg.a ; then
|
||||||
|
NETGEN_LIBS_DIR="${NETGEN_HOME}/lib/LINUX64"
|
||||||
|
else
|
||||||
|
NETGEN_LIBS_DIR="${NETGEN_HOME}/lib"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "NETGEN_LIBS_DIR = $NETGEN_LIBS_DIR"
|
||||||
|
|
||||||
|
CPPFLAGS_old="$CPPFLAGS"
|
||||||
|
CXXFLAGS_old="$CXXFLAGS"
|
||||||
|
CPPFLAGS="$NETGEN_INCLUDES $CAS_CPPFLAGS $CPPFLAGS"
|
||||||
|
CXXFLAGS="$NETGEN_INCLUDES $CAS_CPPFLAGS $CXXFLAGS"
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(for Netgen header file)
|
||||||
|
|
||||||
|
AC_CHECK_HEADER(nglib.h,Netgen_ok=yes,Netgen_ok=no)
|
||||||
|
if test "x$Netgen_ok" == "xyes"; then
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(for Netgen libraries)
|
||||||
|
|
||||||
|
LDFLAGS_old="$LDFLAGS"
|
||||||
|
LDFLAGS="-L. -lNETGEN $CAS_LDPATH -lTKBRep -lTKShHealing -lTKSTEP -lTKXSBase -lTKIGES -lTKSTL -lTKTopAlgo $LDFLAGS"
|
||||||
|
|
||||||
|
AC_TRY_COMPILE(#include <iostream.h>
|
||||||
|
#include <fstream.h>
|
||||||
|
namespace nglib {
|
||||||
|
#include "nglib.h"
|
||||||
|
}
|
||||||
|
#define OCCGEOMETRY
|
||||||
|
#include <occgeom.hpp>
|
||||||
|
,nglib::Ng_Init();
|
||||||
|
netgen::OCCGeometry occgeo;
|
||||||
|
nglib::Ng_Exit();,Netgen_ok=yes;ar x "$NETGEN_LIBS_DIR/libnginterface.a";
|
||||||
|
ar x "$NETGEN_LIBS_DIR/libocc.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 profiler.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_new.o clusters.o zrefine.o ngexception.o geomtest3d.o geom2d.o geom2dmesh.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 genmesh2d.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 spline.o splinegeometry.o ngnewdelete.o nglib.o hprefinement.o Partition_Inter2d.o Partition_Loop.o Partition_Loop3d.o Partition_Inter3d.o Partition_Loop2d.o Partition_Spliter.o occgeom.o occgenmesh.o occmeshsurf.o -o libNETGEN.so;
|
||||||
|
rm -rf linopt.o bfgs.o linsearch.o global.o bisect.o meshtool.o refine.o ruler3.o improve3.o adfront3.o tetrarls.o prism2rls.o profiler.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_new.o clusters.o zrefine.o ngexception.o geomtest3d.o geom2d.o geom2dmesh.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 genmesh2d.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 spline.o splinegeometry.o ngnewdelete.o nglib.o hprefinement.o Partition_Inter2d.o Partition_Loop.o Partition_Loop3d.o Partition_Inter3d.o Partition_Loop2d.o Partition_Spliter.o occgeom.o occgenmesh.o occmeshsurf.o csgparser.o dynamicmem.o extrusion.o occconstruction.o parthreads.o readuser.o writeabaqus.o writediffpack.o writeelmer.o writefeap.o writefluent.o writegmsh.o writejcm.o writepermas.o writetecplot.o writetochnog.o writeuser.o wuchemnitz.o,
|
||||||
|
Netgen_ok=no)
|
||||||
|
|
||||||
|
AC_CACHE_VAL(salome_netgen_lib,[
|
||||||
|
AC_TRY_LINK(
|
||||||
|
#include <iostream.h>
|
||||||
|
#include <fstream.h>
|
||||||
|
namespace nglib {
|
||||||
|
#include "nglib.h"
|
||||||
|
}
|
||||||
|
#define OCCGEOMETRY
|
||||||
|
#include <occgeom.hpp>
|
||||||
|
,nglib::Ng_Init();
|
||||||
|
netgen::OCCGeometry occgeo;
|
||||||
|
nglib::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"
|
||||||
|
fi
|
||||||
|
|
||||||
|
CPPFLAGS="$CPPFLAGS_old"
|
||||||
|
CXXFLAGS="$CXXFLAGS_old"
|
||||||
|
|
||||||
|
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)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(NETGEN_INCLUDES)
|
||||||
|
AC_SUBST(NETGEN_LIBS_DIR)
|
||||||
|
|
||||||
|
AC_LANG_RESTORE
|
||||||
|
|
||||||
|
])dnl
|
@ -1,132 +1,53 @@
|
|||||||
AC_DEFUN([CHECK_NETGEN],[
|
#------------------------------------------------------------
|
||||||
|
# Check availability of Salome NETGEN mesh plugin module
|
||||||
|
# distribution
|
||||||
|
#------------------------------------------------------------
|
||||||
|
|
||||||
AC_REQUIRE([AC_PROG_CXX])dnl
|
AC_DEFUN([CHECK_NETGENPLUGIN],[
|
||||||
AC_REQUIRE([AC_PROG_CXXCPP])dnl
|
|
||||||
|
|
||||||
AC_CHECKING(for Netgen 4.5 and higher Libraries)
|
AC_CHECKING(for NETGEN mesh plugin)
|
||||||
|
|
||||||
AC_LANG_SAVE
|
NGplugin_ok=no
|
||||||
AC_LANG_CPLUSPLUS
|
|
||||||
|
|
||||||
AC_ARG_WITH(netgen,
|
NETGENPLUGIN_LDLAGS=""
|
||||||
[ --with-netgen=DIR root directory path of NETGEN installation],
|
NETGENPLUGIN_CXXFLAGS=""
|
||||||
NETGEN_HOME=$withval,NETGEN_HOME="")
|
|
||||||
|
|
||||||
NETGEN_INCLUDES=""
|
AC_ARG_WITH(netgenplugin,
|
||||||
NETGEN_LIBS_DIR=""
|
[ --with-netgenplugin=DIR root directory path of NETGEN mesh plugin installation ],
|
||||||
|
NETGENPLUGIN_DIR="$withval",NETGENPLUGIN_DIR="")
|
||||||
|
|
||||||
Netgen_ok=no
|
if test "x$NETGENPLUGIN_DIR" == "x" ; then
|
||||||
|
|
||||||
if test "x$NETGEN_HOME" == "x" ; then
|
# no --with-netgenplugin-dir option used
|
||||||
|
|
||||||
# no --with-netgen option used
|
if test "x$NETGENPLUGIN_ROOT_DIR" != "x" ; then
|
||||||
if test "x$NETGENHOME" != "x" ; then
|
|
||||||
|
|
||||||
# NETGENHOME environment variable defined
|
# NETGENPLUGIN_ROOT_DIR environment variable defined
|
||||||
NETGEN_HOME=$NETGENHOME
|
NETGENPLUGIN_DIR=$NETGENPLUGIN_ROOT_DIR
|
||||||
|
|
||||||
fi
|
fi
|
||||||
#
|
#
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$NETGEN_HOME" != "x"; then
|
if test -f ${NETGENPLUGIN_DIR}/lib${LIB_LOCATION_SUFFIX}/salome/libNETGENEngine.so ; then
|
||||||
|
NGplugin_ok=yes
|
||||||
|
AC_MSG_RESULT(Using NETGEN mesh plugin distribution in ${NETGENPLUGIN_DIR})
|
||||||
|
|
||||||
echo
|
if test "x$NETGENPLUGIN_ROOT_DIR" == "x" ; then
|
||||||
echo
|
NETGENPLUGIN_ROOT_DIR=${NETGENPLUGIN_DIR}
|
||||||
echo -------------------------------------------------
|
fi
|
||||||
echo You are about to choose to use somehow the
|
AC_SUBST(NETGENPLUGIN_ROOT_DIR)
|
||||||
echo Netgen Library to generate Tetrahedric mesh.
|
|
||||||
echo
|
|
||||||
echo WARNING
|
|
||||||
echo ----------------------------------------------------------
|
|
||||||
echo ----------------------------------------------------------
|
|
||||||
echo You are strongly advised to consult the file
|
|
||||||
echo NETGENPLUGIN_SRC/src/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
|
|
||||||
|
|
||||||
|
NETGENPLUGIN_LDFLAGS=-L${NETGENPLUGIN_DIR}/lib${LIB_LOCATION_SUFFIX}/salome
|
||||||
|
NETGENPLUGIN_CXXFLAGS=-I${NETGENPLUGIN_DIR}/include/salome
|
||||||
|
|
||||||
NETGEN_INCLUDES="-I$NETGEN_HOME/include"
|
AC_SUBST(NETGENPLUGIN_LDFLAGS)
|
||||||
NETGEN_LIBS_DIR="$NETGEN_HOME/lib/LINUX"
|
AC_SUBST(NETGENPLUGIN_CXXFLAGS)
|
||||||
|
|
||||||
CPPFLAGS_old="$CPPFLAGS"
|
else
|
||||||
CXXFLAGS_old="$CXXFLAGS"
|
AC_MSG_WARN("Cannot find compiled NETGEN mesh plugin distribution")
|
||||||
CPPFLAGS="$NETGEN_INCLUDES $CAS_CPPFLAGS $CPPFLAGS"
|
|
||||||
CXXFLAGS="$NETGEN_INCLUDES $CAS_CPPFLAGS $CXXFLAGS"
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(for Netgen header file)
|
|
||||||
|
|
||||||
AC_CHECK_HEADER(nglib.h,Netgen_ok=yes,Netgen_ok=no)
|
|
||||||
if test "x$Netgen_ok" == "xyes"; then
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(for Netgen libraries)
|
|
||||||
|
|
||||||
LDFLAGS_old="$LDFLAGS"
|
|
||||||
LDFLAGS="-L. -lNETGEN $CAS_LDPATH -lTKBRep -lTKShHealing -lTKSTEP -lTKXSBase -lTKIGES -lTKSTL -lTKTopAlgo $LDFLAGS"
|
|
||||||
|
|
||||||
AC_TRY_COMPILE(#include <iostream.h>
|
|
||||||
#include <fstream.h>
|
|
||||||
namespace nglib {
|
|
||||||
#include "nglib.h"
|
|
||||||
}
|
|
||||||
#define OCCGEOMETRY
|
|
||||||
#include <occgeom.hpp>
|
|
||||||
,nglib::Ng_Init();
|
|
||||||
netgen::OCCGeometry occgeo;
|
|
||||||
nglib::Ng_Exit();,Netgen_ok=yes;ar x "$NETGEN_LIBS_DIR/libnginterface.a";
|
|
||||||
ar x "$NETGEN_LIBS_DIR/libocc.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 profiler.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_new.o clusters.o zrefine.o ngexception.o geomtest3d.o geom2d.o geom2dmesh.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 genmesh2d.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 spline.o splinegeometry.o ngnewdelete.o nglib.o hprefinement.o Partition_Inter2d.o Partition_Loop.o Partition_Loop3d.o Partition_Inter3d.o Partition_Loop2d.o Partition_Spliter.o occgeom.o occgenmesh.o occmeshsurf.o -o libNETGEN.so;
|
|
||||||
rm -rf linopt.o bfgs.o linsearch.o global.o bisect.o meshtool.o refine.o ruler3.o improve3.o adfront3.o tetrarls.o prism2rls.o profiler.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_new.o clusters.o zrefine.o ngexception.o geomtest3d.o geom2d.o geom2dmesh.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 genmesh2d.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 spline.o splinegeometry.o ngnewdelete.o nglib.o hprefinement.o Partition_Inter2d.o Partition_Loop.o Partition_Loop3d.o Partition_Inter3d.o Partition_Loop2d.o Partition_Spliter.o occgeom.o occgenmesh.o occmeshsurf.o csgparser.o dynamicmem.o extrusion.o occconstruction.o parthreads.o readuser.o writeabaqus.o writediffpack.o writeelmer.o writefeap.o writefluent.o writegmsh.o writejcm.o writepermas.o writetecplot.o writetochnog.o writeuser.o wuchemnitz.o,
|
|
||||||
Netgen_ok=no)
|
|
||||||
|
|
||||||
AC_CACHE_VAL(salome_netgen_lib,[
|
|
||||||
AC_TRY_LINK(
|
|
||||||
#include <iostream.h>
|
|
||||||
#include <fstream.h>
|
|
||||||
namespace nglib {
|
|
||||||
#include "nglib.h"
|
|
||||||
}
|
|
||||||
#define OCCGEOMETRY
|
|
||||||
#include <occgeom.hpp>
|
|
||||||
,nglib::Ng_Init();
|
|
||||||
netgen::OCCGeometry occgeo;
|
|
||||||
nglib::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"
|
|
||||||
fi
|
|
||||||
|
|
||||||
CPPFLAGS="$CPPFLAGS_old"
|
|
||||||
CXXFLAGS="$CXXFLAGS_old"
|
|
||||||
|
|
||||||
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)
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST(NETGEN_INCLUDES)
|
AC_MSG_RESULT(for NETGEN mesh plugin: $NGplugin_ok)
|
||||||
AC_SUBST(NETGEN_LIBS_DIR)
|
|
||||||
|
|
||||||
AC_LANG_RESTORE
|
|
||||||
|
|
||||||
])dnl
|
])dnl
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# common directories to put headerfiles
|
# common directories to put headerfiles
|
||||||
inc_builddir=$(top_builddir)/include/salome
|
inc_builddir=$(top_builddir)/include/salome
|
||||||
|
|
||||||
|
MODULE_NAME=@MODULE_NAME@
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
SHELL=/bin/sh
|
SHELL=/bin/sh
|
||||||
|
|
||||||
@ -10,7 +12,7 @@ HAVE_SSTREAM=@HAVE_SSTREAM@
|
|||||||
|
|
||||||
|
|
||||||
LIBS=@LIBS@
|
LIBS=@LIBS@
|
||||||
LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib/salome -Xlinker -rpath-link -Xlinker $(top_builddir)/lib/salome
|
LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome -Xlinker -rpath-link -Xlinker $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome
|
||||||
# add libstdc++ to link c++ library with libtool !
|
# add libstdc++ to link c++ library with libtool !
|
||||||
LDFLAGS+= -lstdc++
|
LDFLAGS+= -lstdc++
|
||||||
|
|
||||||
@ -173,7 +175,7 @@ SALOME_INCLUDES = \
|
|||||||
CPPFLAGS += -DSOLIDGEOM -DLINUX $(OCC_INCLUDES) $(SALOME_INCLUDES) $(BOOST_CPPFLAGS)
|
CPPFLAGS += -DSOLIDGEOM -DLINUX $(OCC_INCLUDES) $(SALOME_INCLUDES) $(BOOST_CPPFLAGS)
|
||||||
CXXFLAGS += -DSOLIDGEOM -DLINUX $(OCC_CXXFLAGS) $(SALOME_INCLUDES)
|
CXXFLAGS += -DSOLIDGEOM -DLINUX $(OCC_CXXFLAGS) $(SALOME_INCLUDES)
|
||||||
|
|
||||||
LDFLAGS += -lSMESHimpl -lSMESHEngine -lStdMeshers -lStdMeshersEngine -L${KERNEL_ROOT_DIR}/lib/salome -L${SMESH_ROOT_DIR}/lib/salome -L${GEOM_ROOT_DIR}/lib/salome -lSalomeGenericObj
|
LDFLAGS += -lSMESHimpl -lSMESHEngine -lStdMeshers -lStdMeshersEngine -L${KERNEL_ROOT_DIR}/lib@LIB_LOCATION_SUFFIX@/salome -L${SMESH_ROOT_DIR}/lib@LIB_LOCATION_SUFFIX@/salome -L${GEOM_ROOT_DIR}/lib@LIB_LOCATION_SUFFIX@/salome -lSalomeGenericObj
|
||||||
|
|
||||||
# add corba libs when link salome application !
|
# add corba libs when link salome application !
|
||||||
#LDFLAGS+= $(CORBA_LIBS)
|
#LDFLAGS+= $(CORBA_LIBS)
|
||||||
@ -203,7 +205,7 @@ LN_S=@LN_S@
|
|||||||
prefix=@prefix@
|
prefix=@prefix@
|
||||||
exec_prefix=@exec_prefix@
|
exec_prefix=@exec_prefix@
|
||||||
bindir=@bindir@/salome
|
bindir=@bindir@/salome
|
||||||
libdir=@libdir@/salome
|
libdir=@exec_prefix@/lib@LIB_LOCATION_SUFFIX@/salome
|
||||||
# warning : if user give this path in configure we could have salome/salome :-(
|
# warning : if user give this path in configure we could have salome/salome :-(
|
||||||
includedir=@includedir@/salome
|
includedir=@includedir@/salome
|
||||||
datadir=@datadir@/salome
|
datadir=@datadir@/salome
|
||||||
|
@ -22,11 +22,15 @@ AC_CANONICAL_HOST
|
|||||||
PACKAGE=salome
|
PACKAGE=salome
|
||||||
AC_SUBST(PACKAGE)
|
AC_SUBST(PACKAGE)
|
||||||
|
|
||||||
VERSION=3.2.0
|
VERSION=3.2.3
|
||||||
XVERSION=0x030200
|
XVERSION=0x030203
|
||||||
AC_SUBST(VERSION)
|
AC_SUBST(VERSION)
|
||||||
AC_SUBST(XVERSION)
|
AC_SUBST(XVERSION)
|
||||||
|
|
||||||
|
# set up MODULE_NAME variable for dynamic construction of directories (resources, etc.)
|
||||||
|
MODULE_NAME=netgenplugin
|
||||||
|
AC_SUBST(MODULE_NAME)
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Initialize source and build root directories
|
dnl Initialize source and build root directories
|
||||||
dnl
|
dnl
|
||||||
@ -356,7 +360,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# make other build directories
|
# make other build directories
|
||||||
for rep in salome_adm adm_local doc bin/salome include/salome lib/salome share/salome/resources idl
|
for rep in salome_adm adm_local doc bin/salome include/salome lib${LIB_LOCATION_SUFFIX}/salome share/salome/resources/${MODULE_NAME} idl
|
||||||
do
|
do
|
||||||
# if test ! -d $rep ; then
|
# if test ! -d $rep ; then
|
||||||
# eval mkdir $rep
|
# eval mkdir $rep
|
||||||
|
@ -46,7 +46,7 @@ $(IDL_FILES:%=$(top_builddir)/idl/salome/%):$(IDL_FILES:%=$(top_srcdir)/idl/%)
|
|||||||
# python wrap
|
# python wrap
|
||||||
lib: pyidl
|
lib: pyidl
|
||||||
|
|
||||||
PYTHON_BUILD_SITE=$(top_builddir)/lib/python$(PYTHON_VERSION)/site-packages/@PACKAGE@
|
PYTHON_BUILD_SITE=$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages/@PACKAGE@
|
||||||
|
|
||||||
pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py)
|
pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py)
|
||||||
|
|
||||||
|
@ -67,8 +67,7 @@ CPPFLAGS += $(QT_INCLUDES) $(OCC_INCLUDES) $(PYTHON_INCLUDES) \
|
|||||||
CXXFLAGS += -I${KERNEL_ROOT_DIR}/include/salome -I${GUI_ROOT_DIR}/include/salome \
|
CXXFLAGS += -I${KERNEL_ROOT_DIR}/include/salome -I${GUI_ROOT_DIR}/include/salome \
|
||||||
-I${GEOM_ROOT_DIR}/include/salome -I${SMESH_ROOT_DIR}/include/salome
|
-I${GEOM_ROOT_DIR}/include/salome -I${SMESH_ROOT_DIR}/include/salome
|
||||||
|
|
||||||
LDFLAGS += -lSMESH $(OCC_KERNEL_LIBS) -L${KERNEL_ROOT_DIR}/lib/salome \
|
LDFLAGS += $(OCC_KERNEL_LIBS) $(KERNEL_LDFLAGS) $(GUI_LDFLAGS) ${GEOM_LDFLAGS} ${SMESH_LDFLAGS} -lSMESH
|
||||||
-L${GUI_ROOT_DIR}/lib/salome -L${GEOM_ROOT_DIR}/lib/salome \
|
|
||||||
-L${SMESH_ROOT_DIR}/lib/salome
|
|
||||||
|
|
||||||
@CONCLUDE@
|
@CONCLUDE@
|
||||||
|
@ -1,23 +1,40 @@
|
|||||||
The Netgen 4.5 from the web location : http://www.hpfem.jku.at/netgen/
|
The Netgen 4.5 from the web location : http://www.hpfem.jku.at/netgen/
|
||||||
(CVS access) is used in the SMESH Module of Salome3 distribution.
|
(CVS access) is used in the SMESH Module of Salome3 distribution.
|
||||||
|
|
||||||
How to build Netgen for Salome
|
1. How to build Netgen for Salome
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
Patch the netgen 4.5 distribution:
|
1.1. Download Netgen 4.5 from the NETGEN home site (see above).
|
||||||
|
|
||||||
|
1.2. Unpack the downloaded Netgen 4.5 archive
|
||||||
|
(hereafter we assume that this is netgen45 directory)
|
||||||
|
|
||||||
|
1.3. Patch the netgen 4.5 distribution for SALOME:
|
||||||
|
|
||||||
$ cd netgen45
|
$ cd netgen45
|
||||||
$ patch -p1 < patch_directory/netgen45ForSalome.patch
|
$ patch -p1 < patch_directory/netgen45ForSalome.patch
|
||||||
|
|
||||||
Then run makeForSalome.sh (it will be created by the patch):
|
1.4. For 64-bit platform you also need to apply another patch:
|
||||||
|
|
||||||
|
$ cd netgen45
|
||||||
|
$ patch -p1 < patch_directory/netgen45lib64.patch
|
||||||
|
|
||||||
|
1.5. Set CASROOT environment variable to OCCT installation path,
|
||||||
|
since Netgen 4.5 requires Open CASCADE Technology:
|
||||||
|
|
||||||
|
$ setenv CASROOT <occt_installation_path>
|
||||||
|
|
||||||
|
1.6. Compile and install netgen 4.5. To do this, simply run
|
||||||
|
makeForSalome.sh script (it is created from the patch):
|
||||||
|
|
||||||
$ sh makeForSalome.sh
|
$ sh makeForSalome.sh
|
||||||
|
|
||||||
|
|
||||||
Additional information for maintainers
|
2. Additional information for maintainers
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
The file check_NETGENPLUGIN.m4 assumes
|
The file check_NETGEN.m4 assumes that Netgen is installed in
|
||||||
that Netgen is installed in the directory <netgen_installation_path> as follow:
|
the directory <netgen_installation_path> as follow:
|
||||||
|
|
||||||
prompt> ls <netgen_installation_path>
|
prompt> ls <netgen_installation_path>
|
||||||
|
|
||||||
@ -50,17 +67,16 @@ edgeflw.hpp hpref_pyramid.hpp msghandler.hpp sparsmat.hpp
|
|||||||
|
|
||||||
prompt> ls <netgen_installation_path>/lib
|
prompt> ls <netgen_installation_path>/lib
|
||||||
|
|
||||||
LINUX/
|
|
||||||
|
|
||||||
prompt> ls <netgen_installation_path>/lib/LINUX
|
|
||||||
|
|
||||||
libcsg.a libgeom2d.a libla.a libnginterface.a libopti.a
|
libcsg.a libgeom2d.a libla.a libnginterface.a libopti.a
|
||||||
libgen.a libgprim.a libmesh.a libocc.a libstlgeom.a
|
libgen.a libgprim.a libmesh.a libocc.a libstlgeom.a
|
||||||
|
|
||||||
|
The library files can be also installed in the LINUX or LINUX64
|
||||||
|
subfolder of the lib directory.
|
||||||
|
|
||||||
All the libraries *.a should be compiled without the option -DOPENGL.
|
All the libraries *.a should be compiled without the option -DOPENGL.
|
||||||
netgen45 is assumed to be the directory downloaded from the above web
|
netgen45 is assumed to be the directory downloaded from the above web
|
||||||
location archive of Netgen. The library
|
location archive of Netgen. The library
|
||||||
<netgen_installation_path>/lib/LINUX/libnginterface.a should contain the objects
|
<netgen_installation_path>/lib/libnginterface.a should contain the objects
|
||||||
nglib.o (from netgen45/libsrc/interface/nglib.cpp) and ngnewdelete.o
|
nglib.o (from netgen45/libsrc/interface/nglib.cpp) and ngnewdelete.o
|
||||||
(from netgen45/ngtcltk/ngnewdelete.cpp).
|
(from netgen45/ngtcltk/ngnewdelete.cpp).
|
||||||
|
|
||||||
@ -72,7 +88,7 @@ nglib.o and ngnewdelete.o to the library libnginterface.a and
|
|||||||
recompile the libraries only.
|
recompile the libraries only.
|
||||||
All this job is done by applying the patch and running the script makeForSalome.sh.
|
All this job is done by applying the patch and running the script makeForSalome.sh.
|
||||||
|
|
||||||
Th suggested patch alters some Netgen sources to compile them.
|
The suggested patch alters some Netgen sources to compile them.
|
||||||
|
|
||||||
Michael SAZONOV
|
Michael SAZONOV
|
||||||
m-sazonov@opencascade.com
|
m-sazonov@opencascade.com
|
||||||
|
File diff suppressed because it is too large
Load Diff
45
src/NETGEN/netgen45lib64.patch
Executable file
45
src/NETGEN/netgen45lib64.patch
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
diff -ur netgen-4.5.old/libsrc/makefile.inc netgen-4.5.new/libsrc/makefile.inc
|
||||||
|
--- netgen-4.5/libsrc/makefile.inc 2006-04-27 13:12:54.000000000 +0400
|
||||||
|
+++ netgen-4.5/libsrc/makefile.inc 2006-09-05 14:16:32.000000000 +0400
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
#
|
||||||
|
include $(LIBSRC_DIR)/makefile.mach.$(MACHINE)
|
||||||
|
#
|
||||||
|
-CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) \
|
||||||
|
+CPLUSPLUSFLAGS1 = -c -m64 -fPIC -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) \
|
||||||
|
-DOCCGEOMETRY -DOCC52 -DHAVE_IOSTREAM -DHAVE_LIMITS_H
|
||||||
|
#
|
||||||
|
ARFLAGS = r
|
||||||
|
diff -ur netgen-4.5.old/libsrc/makefile.mach.LINUX64 netgen-4.5.new/libsrc/makefile.mach.LINUX64
|
||||||
|
--- netgen-4.5/libsrc/makefile.mach.LINUX64 2006-03-29 15:09:32.000000000 +0400
|
||||||
|
+++ netgen-4.5/libsrc/makefile.mach.LINUX64 2006-09-07 15:48:39.000000000 +0400
|
||||||
|
@@ -11,7 +11,7 @@
|
||||||
|
#
|
||||||
|
#
|
||||||
|
CFLAGS2 =
|
||||||
|
-CPLUSPLUSFLAGS2 = -pg -march=nocona -O2 -DLINUX -DOPENGL \
|
||||||
|
+CPLUSPLUSFLAGS2 = -pg -march=nocona -O2 -DLINUX \
|
||||||
|
-ftemplate-depth-99 -finline-limit=100000 \
|
||||||
|
-fforce-addr -funroll-loops \
|
||||||
|
-DTRAFO -DNGSOLVE -DnoADDON -DnoLAPACK -DnoFAST \
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
-LINKFLAGS2 = -pg -L/usr/openwin/lib64 -L/usr/X11R6/lib64 -L/usr/lib/GL3.5 -L/usr/lib64
|
||||||
|
+LINKFLAGS2 = -fPIC -pg -L/usr/openwin/lib64 -L/usr/X11R6/lib64 -L/usr/lib/GL3.5 -L/usr/lib64
|
||||||
|
|
||||||
|
|
||||||
|
SYSLIB2 = -lstdc++
|
||||||
|
diff -ur netgen-4.5.old/Makefile netgen-4.5.new/Makefile
|
||||||
|
--- netgen-4.5/Makefile 2006-03-29 15:09:12.000000000 +0400
|
||||||
|
+++ netgen-4.5/Makefile 2006-09-07 15:46:07.000000000 +0400
|
||||||
|
@@ -72,7 +72,7 @@
|
||||||
|
#
|
||||||
|
#CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -DOPENGL
|
||||||
|
|
||||||
|
-CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -I./ngsolve/include -Ilibsrc/interface -DOPENGL -I$(METISINC)
|
||||||
|
+CPLUSPLUSFLAGS1 = -c -m64 -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -I./ngsolve/include -Ilibsrc/interface -I$(METISINC)
|
||||||
|
|
||||||
|
LINKFLAGS1 = -lGL -lGLU -lX11 -lXext -lXmu
|
||||||
|
#
|
@ -52,6 +52,9 @@ LIB_SERVER_IDL = NETGENPlugin_Algorithm.idl
|
|||||||
LIB_CLIENT_IDL = \
|
LIB_CLIENT_IDL = \
|
||||||
SALOME_Component.idl \
|
SALOME_Component.idl \
|
||||||
SALOME_Comm.idl \
|
SALOME_Comm.idl \
|
||||||
|
SALOME_Exception.idl \
|
||||||
|
SALOME_GenericObj.idl \
|
||||||
|
SMESH_Hypothesis.idl \
|
||||||
GEOM_Gen.idl \
|
GEOM_Gen.idl \
|
||||||
MED.idl
|
MED.idl
|
||||||
|
|
||||||
@ -61,6 +64,6 @@ LIB = libNETGENEngine.la
|
|||||||
NETGEN_INCLUDES = @NETGEN_INCLUDES@
|
NETGEN_INCLUDES = @NETGEN_INCLUDES@
|
||||||
CPPFLAGS += $(NETGEN_INCLUDES)
|
CPPFLAGS += $(NETGEN_INCLUDES)
|
||||||
CXXFLAGS += $(NETGEN_INCLUDES)
|
CXXFLAGS += $(NETGEN_INCLUDES)
|
||||||
LDFLAGS += -lNETGEN
|
LDFLAGS += -L${NETGENPLUGIN_ROOT_DIR}/lib@LIB_LOCATION_SUFFIX@/salome -lNETGEN
|
||||||
|
|
||||||
@CONCLUDE@
|
@CONCLUDE@
|
||||||
|
Loading…
x
Reference in New Issue
Block a user