#!/bin/sh #---------------------------------*- sh -*------------------------------------- # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2004-2010 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 3 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, see . # # Script # foamConfigurePaths # # Description # hardcode installation directory # #------------------------------------------------------------------------------ usage() { while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat< _inlineSed() { [ -f "$1" ] || { echo "Missing file: $1" exit 1 } backup="temp.$$" cp $1 $backup sed -i -e "$2" $1 if cmp $1 $backup > /dev/null 2>&1 then echo "Failed: $3 in $1" rm $backup 2>/dev/null exit 1 else echo "Okay: $3 in $1" rm $backup 2>/dev/null fi return 0 } [ -f etc/bashrc ] || usage "Please run from top-level directory of installation" unset foamInstall projectName archOption paraviewInstall # parse options while [ "$#" -gt 0 ] do case "$1" in -h | -help | --help) usage ;; -foamInstall | --foamInstall) [ "$#" -ge 2 ] || usage "'$1' option requires an argument" foamInstall="$2" # replace foamInstall=... _inlineSed \ etc/bashrc \ '/^[^#]/s@foamInstall=.*@foamInstall='"$foamInstall@" \ "Replacing foamInstall setting by '$foamInstall'" shift 2 ;; -projectName | --projectName) [ "$#" -ge 2 ] || usage "'$1' option requires an argument" projectName="$2" # replace WM_PROJECT_DIR=... _inlineSed \ etc/bashrc \ '/^[^#]/s@WM_PROJECT_DIR=.*@WM_PROJECT_DIR=$WM_PROJECT_INST_DIR/'"$projectName@" \ "Replacing WM_PROJECT_DIR setting by '$projectName'" shift 2 ;; -archOption | --archOption) [ "$#" -ge 2 ] || usage "'$1' option requires an argument" archOption="$2" # replace WM_ARCH_OPTION=... _inlineSed \ etc/bashrc \ '/^[^#]/s@WM_ARCH_OPTION=.*@WM_ARCH_OPTION='"$archOption@" \ "Replacing WM_ARCH_OPTION setting by '$archOption'" shift 2 ;; -paraviewInstall | --paraviewInstall) [ "$#" -ge 2 ] || usage "'$1' option requires an argument" paraviewInstall="$2" # replace ParaView_DIR=... _inlineSed \ etc/apps/paraview3/bashrc \ '/^[^#]/s@ParaView_DIR=.*@ParaView_DIR='"$paraviewInstall@" \ "Replacing ParaView_DIR setting by '$paraviewInstall'" shift 2 ;; *) usage "unknown option/argument: '$*'" ;; esac done [ -n "$foamInstall" -o -n "$projectName" -o -n "$archOption" -o -n "$paraviewInstall" ] || usage "Please specify at least one configure option" #echo "Replacing WM_PROJECT setting by '$projectName'" #sed -i -e 's@WM_PROJECT=.*@WM_PROJECT='"$projectName@" etc/bashrc # Set WM_MPLIB=SYSTEMOPENMPI always _inlineSed \ etc/bashrc \ '/^[^#]/s@export WM_MPLIB=.*@export WM_MPLIB=SYSTEMOPENMPI@' \ "Replacing WM_MPLIB setting by 'SYSTEMOPENMPI'" # set foamCompiler=system always _inlineSed \ etc/bashrc \ '/^[^#]/s@foamCompiler=.*@foamCompiler=system@' \ "Replacing foamCompiler setting by 'system'" #------------------------------------------------------------------------------