Skip to content
Snippets Groups Projects
Commit bada64a0 authored by andy's avatar andy
Browse files

Merge branch 'master' of /home/noisy2/OpenFOAM/OpenFOAM-dev

parents 407a2120 ac394e5a
Branches
Tags
No related merge requests found
File moved
#!/bin/sh
set -x
# ParaView 3.x build script
# - normally run from folder above source folder
# use the version number and the installation location specified
# in etc/apps/paraview3/{bashrc,cshrc}
: ${ParaView_VERSION:=3.3}
: ${ParaView_INST_DIR:=$WM_PROJECT_INST_DIR/paraview-$ParaView_VERSION}
#!!User:
# set to location of paraview sources and where to build paraview
# PARAVIEW_SRC_DIR=$WM_PROJECT_INST_DIR/src/other/ParaView3
PARAVIEW_SRC_DIR=/data/cfd2/work/cfdadmin/cvs/ParaView3
PARAVIEW_BUILD_DIR=$PARAVIEW_SRC_DIR/platforms
# TODO: extract the version number from the CMakeLists.txt variables:
# PARAVIEW_VERSION_MAJOR, and PARAVIEW_VERSION_MINOR
# ParaView_VERSION="3.3"
# SET(PARAVIEW_VERSION_MAJOR 3)
# SET(PARAVIEW_VERSION_MINOR 3)
#!!User:
# select desired features, include Python whenever possible
VERBOSE=OFF
INCLUDE_MPI=OFF
MPI_MAX_PROCS=32
INCLUDE_PYTHON=ON
INCLUDE_MESA=OFF
# initialisation
oldpwd=$PWD
unset OBJ_ADD
# always build shared libraries
CMAKE_VARIABLES="-DBUILD_SHARED_LIBS:BOOL=ON"
if [ "$VERBOSE" = ON ]; then
CMAKE_VARIABLES="$CMAKE_VARIABLES -DCMAKE_VERBOSE_MAKEFILE=TRUE"
fi
#****************************************************************************
# FIX: Attempt to get around seg-fault when building documentation
#CMAKE_VARIABLES="$CMAKE_VARIABLES -BUILD_DOCUMENTATION-ADVANCED:INTERNAL=0"
#****************************************************************************
# set python specific options
# NOTE - you'll need both python and python-devel packages installed
# - might need to create a symbolic link to the python library
# - anything after the '.so' gets in the way...
# - might need to run cmake -> make twice to pick up all the links...
if [ "$INCLUDE_PYTHON" = ON ]; then
PYTHON_INCLUDE_DIR=/usr/include/python2.5
PYTHON_LIBRARY=/usr/lib$WM_COMPILER_LIB_ARCH/libpython2.5.so
if [ -d "$PYTHON_INCLUDE_DIR" ]; then
OBJ_ADD="$OBJ_ADD-py"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DPARAVIEW_ENABLE_PYTHON=ON"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DPYTHON_INCLUDE_PATH=$PYTHON_INCLUDE_DIR"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DPYTHON_LIBRARY=$PYTHON_LIBRARY"
else
echo "non-existent PYTHON_INCLUDE_DIR: $PYTHON_INCLUDE_DIR"
fi
fi
# set MPI specific options
if [ "$INCLUDE_MPI" = ON ]; then
case "$WM_MPLIB" in
OPENMPI)
MPI_INCLUDE_PATH=$OPENMPI_ARCH_PATH/include
MPI_LIBRARY=$OPENMPI_ARCH_PATH/lib/libmpi.so
MPI_RUN=$OPENMPI_ARCH_PATH/bin/mpirun
;;
LAM)
MPI_INCLUDE_PATH=$LAM_ARCH_PATH/include
MPI_LIBRARY=$LAM_ARCH_PATH/lib/libmpi.so
MPI_RUN=$LAM_ARCH_PATH/bin/mpirun
;;
MPICH)
MPI_INCLUDE_PATH=$MPICH_ARCH_PATH/include
MPI_LIBRARY=$MPICH_ARCH_PATH/lib/libmpich.so
MPI_RUN=$MPICH_ARCH_PATH/bin/mpirun
;;
*)
unset INCLUDE_MPI
;;
esac
if [ "$INCLUDE_MPI" ]; then
OBJ_ADD="$OBJ_ADD-mpi"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DVTK_USE_MPI=ON"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DPARAVIEW_USE_MPI=ON"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DMPI_INCLUDE_PATH=$MPI_INCLUDE_PATH"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DMPI_LIBRARY=$MPI_LIBRARY"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DVTK_MPIRUN_EXE=$MPI_RUN"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DVTK_MPI_MAX_NUMPROCS=$MPI_MAX_PROCS"
else
echo "unknown/unsupported mpi: $WM_MPLIB"
fi
fi
# set MESA specific options
if [ "$INCLUDE_MESA" = ON ]; then
MESA_INCLUDE_DIR=/usr/include/GL
MESA_LIBRARY=/usr/lib$WM_COMPILER_LIB_ARCH/libOSMesa.so
if [ -d "$MESA_INCLUDE_DIR" -a -f "$MESA_LIBRARY" ]; then
OBJ_ADD="$OBJ_ADD-mesa"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DVTK_OPENGL_HAS_OSMESA=ON"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DOSMESA_INCLUDE_DIR=$MESA_INCLUDE_DIR"
CMAKE_VARIABLES="$CMAKE_VARIABLES -DOSMESA_LIBRARY=$MESA_LIBRARY"
else
echo "no MESA information found ... skipping"
fi
fi
# finalize the build/install environment
PARAVIEW_OBJ_DIR=$PARAVIEW_BUILD_DIR/$WM_OPTIONS$OBJ_ADD
PARAVIEW_APP_DIR=$ParaView_INST_DIR/platforms/$WM_OPTIONS$OBJ_ADD
# create paraview build folder
mkdir -p $PARAVIEW_OBJ_DIR
cd $PARAVIEW_OBJ_DIR
#
# make paraview
#
# provide a backdoor to skip cmake for repeated builds
if [ -z "$build_no_cmake" ]
then
cmake \
-DCMAKE_INSTALL_PREFIX=$PARAVIEW_APP_DIR \
$CMAKE_VARIABLES \
$PARAVIEW_SRC_DIR
fi
if [ -r /proc/cpuinfo ]; then
WM_NCOMPPROCS=`egrep "^processor" /proc/cpuinfo | wc -l`
[ $WM_NCOMPPROCS -le 8 ] || WM_NCOMPPROCS=8
make -j $WM_NCOMPPROCS
else
make
fi
if [ -e "$PARAVIEW_OBJ_DIR/bin/paraview" ]; then
echo "Info: Installation completed - proceeding to install"
make install
# copy VTK headers to install directory
echo "Info: Copying VTK headers"
cp -r $PARAVIEW_SRC_DIR/VTK $PARAVIEW_APP_DIR
cp -r $PARAVIEW_OBJ_DIR/VTK/vtkConfigure.h $PARAVIEW_APP_DIR/VTK
cp -r $PARAVIEW_OBJ_DIR/VTK/vtkstd $PARAVIEW_APP_DIR/VTK
# copy all .so files to the lib folder
# - NOTE: shouldn't be necessary - but some libs not copied over to the
# install folder
## echo "Info: Copying libs"
## cp $PARAVIEW_OBJ_DIR/bin/*.so* $PARAVIEW_APP_DIR/lib/paraview-$ParaView_VERSION
echo "Info: Copying ParaViewConfig.cmake"
cp $PARAVIEW_OBJ_DIR/ParaViewConfig.cmake $PARAVIEW_APP_DIR
if [ "$OBJ_ADD" ]; then
echo "Creating symbolic link in $ParaView_INST_DIR/platforms from $WM_OPTIONS$OBJ_ADD to $WM_OPTIONS"
( cd $ParaView_INST_DIR/platforms && ln -s $WM_OPTIONS$OBJ_ADD $WM_OPTIONS )
fi
echo "Installation complete"
echo "Set environment variables:"
echo " - ParaView_DIR to $PARAVIEW_APP_DIR"
echo " - ParaView_INST_DIR to $PARAVIEW_APP_DIR"
echo " - PV_PLUGIN_PATH to $FOAM_LIBBIN"
echo "Add $ParaView_INST_DIR/bin to PATH"
echo "Add $ParaView_INST_DIR/lib to LD_LIBRARY_PATH"
echo "done."
else
echo "*** Error: Installation failed - see output window"
fi
# finalisation
cd $oldpwd
# ----------------------------------------------------------------- end-of-file
File moved
......@@ -48,6 +48,7 @@ addCMakeVariable ()
if [ -z "$1" ]; then
echo "*** Error: addCMakeVariable()"
echo " No variable to add"
exit 1
fi
CMAKE_VARIABLES="$CMAKE_VARIABLES -D$1"
......@@ -56,29 +57,37 @@ addCMakeVariable ()
addMpiSupport ()
{
OBJ_ADD="$OBJ_ADD-mpi"
# using OpenFOAM variables to identify location of MPI libraries
if [ "$WM_MPLIB" = "OPENMPI" ]; then
# using OpenFOAM variables to identify location of MPI libraries
case "$WM_MPLIB" in
OPENMPI)
MPI_INCLUDE_PATH=$OPENMPI_ARCH_PATH/include
MPI_LIBRARY=$OPENMPI_ARCH_PATH/lib/libmpi.so
MPI_RUN=$OPENMPI_ARCH_PATH/bin/mpirun
elif [ "$WM_MPLIB" = "LAM" ]; then
;;
LAM)
MPI_INCLUDE_PATH=$LAM_ARCH_PATH/include
MPI_LIBRARY=$LAM_ARCH_PATH/lib/libmpi.so
MPI_RUN=$LAM_ARCH_PATH/bin/mpirun
elif [ "$WM_MPLIB" = "MPICH" ]; then
;;
MPICH)
MPI_INCLUDE_PATH=$MPICH_ARCH_PATH/include
MPI_LIBRARY=$MPICH_ARCH_PATH/lib/libmpich.so
MPI_RUN=$MPICH_ARCH_PATH/bin/mpirun
;;
*)
if [ "$INCLUDE_MPI" ]; then
OBJ_ADD="$OBJ_ADD-mpi"
addCMakeVariable "VTK_USE_MPI=ON"
addCMakeVariable "PARAVIEW_USE_MPI=ON"
addCMakeVariable "MPI_INCLUDE_PATH=$MPI_INCLUDE_PATH"
addCMakeVariable "MPI_LIBRARY=$MPI_LIBRARY"
addCMakeVariable "VTK_MPIRUN_EXE=$MPI_RUN"
addCMakeVariable "VTK_MPI_MAX_NUMPROCS=$MPI_MAX_PROCS"
else
echo "*** Error: unknown/unsupported mpi: $WM_MPLIB"
exit 1
fi
addCMakeVariable "VTK_USE_MPI=ON"
addCMakeVariable "PARAVIEW_USE_MPI=ON"
addCMakeVariable "MPI_INCLUDE_PATH=$MPI_INCLUDE_PATH"
addCMakeVariable "MPI_LIBRARY=$MPI_LIBRARY"
addCMakeVariable "VTK_MPIRUN_EXE=$MPI_RUN"
addCMakeVariable "VTK_MPI_MAX_NUMPROCS=$MPI_MAX_PROCS"
}
......@@ -130,14 +139,18 @@ addPythonSupport ()
addMesaSupport ()
{
OBJ_ADD="$OBJ_ADD-mesa"
MESA_INCLUDE_DIR=/usr/include/GL
MESA_LIBRARY=/usr/lib$WM_COMPILER_LIB_ARCH/libOSMesa.so
addCMakeVariable "VTK_OPENGL_HAS_OSMESA=ON"
addCMakeVariable "OSMESA_INCLUDE_DIR=$MESA_INCLUDE_DIR"
addCMakeVariable "OSMESA_LIBRARY=$MESA_LIBRARY"
if [ -d "$MESA_INCLUDE_DIR" -a -f "$MESA_LIBRARY" ]; then
OBJ_ADD="$OBJ_ADD-mesa"
addCMakeVariable "VTK_OPENGL_HAS_OSMESA=ON"
addCMakeVariable "OSMESA_INCLUDE_DIR=$MESA_INCLUDE_DIR"
addCMakeVariable "OSMESA_LIBRARY=$MESA_LIBRARY"
else
echo "*** Error: no MESA information found"
exit 1
fi
}
......@@ -168,10 +181,13 @@ buildParaView ()
echo " Target : $PARAVIEW_OBJ_DIR"
# make paraview
cmake \
-DCMAKE_INSTALL_PREFIX=$PARAVIEW_APP_DIR \
$CMAKE_VARIABLES \
$PARAVIEW_SRC_DIR
# provide a backdoor to skip cmake for repeated builds
if [ -z "$build_no_cmake" ]; then
cmake \
-DCMAKE_INSTALL_PREFIX=$PARAVIEW_APP_DIR \
$CMAKE_VARIABLES \
$PARAVIEW_SRC_DIR
fi
if [ -r /proc/cpuinfo ]; then
WM_NCOMPPROCS=`egrep "^processor" /proc/cpuinfo | wc -l`
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment