223 lines
6.0 KiB
Bash
Executable File
223 lines
6.0 KiB
Bash
Executable File
#!/bin/sh
|
|
#------------------------------------------------------------------------------
|
|
# ========= |
|
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
# \\ / O peration |
|
|
# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
|
# \\/ M anipulation |
|
|
#------------------------------------------------------------------------------
|
|
# License
|
|
# This file is part of OpenFOAM.
|
|
#
|
|
# OpenFOAM is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by the
|
|
# Free Software Foundation; either version 2 of the License, or (at your
|
|
# option) any later version.
|
|
#
|
|
# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
# for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with OpenFOAM; if not, write to the Free Software Foundation,
|
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
#
|
|
# Script
|
|
# buildParaView
|
|
#
|
|
# Description
|
|
# Build and install paraview
|
|
# - run from folder above paraview source folder or place the
|
|
# paraview source under $WM_THIRD_PARTY_DIR
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
. $WM_PROJECT_DIR/bin/tools/buildParaViewFunctions
|
|
|
|
# User options:
|
|
# ~~~~~~~~~~~~~
|
|
|
|
# MPI support:
|
|
withMPI=false
|
|
MPI_MAX_PROCS=32
|
|
|
|
# Python support:
|
|
# note: script will try to determine the appropriate python library.
|
|
# If it fails, specify the path using the PYTHON_LIBRARY variable
|
|
withPYTHON=false
|
|
PYTHON_LIBRARY=""
|
|
# PYTHON_LIBRARY="/usr/lib64/libpython2.6.so.1.0"
|
|
|
|
# MESA graphics support:
|
|
withMESA=false
|
|
MESA_INCLUDE="/usr/include/GL"
|
|
MESA_LIBRARY="/usr/lib64/libOSMesa.so"
|
|
|
|
# extra QT gui support (useful for re-using the installation for engrid)
|
|
withQTSUPPORT=true
|
|
|
|
# Set the path to the Qt-4.3.? qmake if the system Qt is other than this version
|
|
QMAKE_PATH=""
|
|
#QMAKE_PATH=/usr/local/Trolltech/Qt-4.3.5/bin/qmake
|
|
#QMAKE_PATH=$WM_THIRD_PARTY_DIR/qt-x11-opensource-src-4.3.5/platforms/linux64GccDPOpt/bin/qmake
|
|
|
|
#
|
|
# No further editing below this line
|
|
#------------------------------------------------------------------------------
|
|
Script=${0##*/}
|
|
|
|
usage() {
|
|
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
|
cat<<USAGE
|
|
|
|
usage: $Script [OPTION]
|
|
options:
|
|
-rebuild for repeated builds (-make -install) *use with caution*
|
|
-mpi with mpi (if not already enabled)
|
|
-python with python (if not already enabled)
|
|
-mesa with mesa (if not already enabled)
|
|
-qt with extra Qt gui support (if not already enabled)
|
|
-verbose verbose output in Makefiles
|
|
-version VER specify an alternative version (default: $ParaView_VERSION)
|
|
-help
|
|
|
|
For finer control, the build stages can be also selected individually
|
|
(mutually exclusive)
|
|
-config
|
|
-make
|
|
-makedoc
|
|
-install
|
|
[-envpath] alter absolute paths in CMake files to use env variables
|
|
|
|
Build and install paraview-$ParaView_VERSION
|
|
- run from folder above the ParaView source folder or place the ParaView
|
|
source under \$WM_THIRD_PARTY_DIR ($WM_THIRD_PARTY_DIR)
|
|
|
|
USAGE
|
|
exit 1
|
|
}
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
#
|
|
# add options based on script name:
|
|
#
|
|
case "$Script" in *-mpi*) withMPI=true;; esac
|
|
case "$Script" in *-python*) withPYTHON=true;; esac
|
|
case "$Script" in *-mesa*) withMESA=true;; esac
|
|
case "$Script" in *-qt*) withQTSUPPORT=true;; esac
|
|
|
|
#
|
|
# various building stages
|
|
#
|
|
runCONFIG=true
|
|
runMAKE=true
|
|
runMAKEDOC=true
|
|
runINSTALL=true
|
|
runENVPATH=false
|
|
|
|
|
|
# parse options
|
|
while [ "$#" -gt 0 ]
|
|
do
|
|
case "$1" in
|
|
-h | -help)
|
|
usage
|
|
;;
|
|
-config) # stage 1: config only
|
|
runCONFIG=true
|
|
runMAKE=false
|
|
runMAKEDOC=false
|
|
runINSTALL=false
|
|
shift
|
|
;;
|
|
-make) # stage 2: make only
|
|
runCONFIG=false
|
|
runMAKE=true
|
|
runMAKEDOC=false
|
|
runINSTALL=false
|
|
shift
|
|
;;
|
|
-makedoc) # stage 3: generate html documentation
|
|
runCONFIG=false
|
|
runMAKE=false
|
|
runMAKEDOC=true
|
|
runINSTALL=false
|
|
shift
|
|
;;
|
|
-install) # stage 4: install only
|
|
runCONFIG=false
|
|
runMAKE=false
|
|
runMAKEDOC=false
|
|
runINSTALL=true
|
|
shift
|
|
;;
|
|
-envpath) # optional: change cmake files to use env variables
|
|
runCONFIG=false
|
|
runMAKE=false
|
|
runMAKEDOC=false
|
|
runINSTALL=false
|
|
runENVPATH=true
|
|
shift
|
|
;;
|
|
-rebuild) # shortcut for rebuilding
|
|
runCONFIG=false
|
|
runMAKE=true
|
|
runMAKEDOC=false
|
|
runINSTALL=true
|
|
shift
|
|
;;
|
|
-mpi)
|
|
withMPI=true
|
|
shift
|
|
;;
|
|
-python)
|
|
withPYTHON=true
|
|
shift
|
|
;;
|
|
-mesa)
|
|
withMESA=true
|
|
shift
|
|
;;
|
|
-qt)
|
|
withQTSUPPORT=true
|
|
shift
|
|
;;
|
|
-verbose)
|
|
withVERBOSE=true
|
|
shift
|
|
;;
|
|
-version)
|
|
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
|
export ParaView_VERSION=$2
|
|
shift 2
|
|
;;
|
|
*)
|
|
usage "unknown option/argument: '$*'"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
# Set configure options
|
|
#~~~~~~~~~~~~~~~~~~~~~~
|
|
addVerbosity # verbose makefiles
|
|
addMpiSupport # set MPI-specific options
|
|
addPythonSupport # set Python-specific options
|
|
addMesaSupport # set MESA-specific options
|
|
addQtSupport # add extra Qt support
|
|
|
|
getPaths # discover where things are or should be put
|
|
|
|
|
|
# Build and install
|
|
# ~~~~~~~~~~~~~~~~~
|
|
[ $runCONFIG = true ] && configParaView
|
|
[ $runMAKE = true ] && makeParaView
|
|
[ $runMAKEDOC = true ] && makeDocs
|
|
[ $runINSTALL = true ] && installParaView
|
|
[ $runENVPATH = true ] && fixCMakeFiles
|
|
|
|
echo "done"
|
|
#------------------------------------------------------------------------------
|