initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / bin / tools / thirdPartyGetFunctions
blobb1e94ae8b31b1cee3724fa023ea0e46504a45c73
1 #---------------------------------*- sh -*-------------------------------------
2 # =========                 |
3 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4 #  \\    /   O peration     |
5 #   \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
6 #    \\/     M anipulation  |
7 #------------------------------------------------------------------------------
8 # License
9 #     This file is part of OpenFOAM.
11 #     OpenFOAM is free software; you can redistribute it and/or modify it
12 #     under the terms of the GNU General Public License as published by the
13 #     Free Software Foundation; either version 2 of the License, or (at your
14 #     option) any later version.
16 #     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 #     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 #     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19 #     for more details.
21 #     You should have received a copy of the GNU General Public License
22 #     along with OpenFOAM; if not, write to the Free Software Foundation,
23 #     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 # Script
26 #     thirdPartyGetFunctions
28 # Description
29 #     Functions for managing the third-party packages
31 #------------------------------------------------------------------------------
34 # get, unpack and change to third party directory
35 # - call from within a sub-shell, since it uses 'cd'
37 getUnpack() {
38    [ "$#" -eq 1 ] || {
39       echo "getUnpack called with incorrect arguments $@"
40       return 1
41    }
43    d=$(foamThirdParty -dir $1 2>/dev/null) || {
44       echo "nothing know about '$1'"
45       return 1
46    }
48    foamThirdParty -get -unpack $1 && [ -d "$d" ] || return 1
50    [ -d "$d" ] && chmod -R ugo+rX $d 2>/dev/null
52    echo $d
56 # copy Make/{files,options} from wmakeFiles/PACKAGE
58 cpMakeFiles() {
59    [ "$#" -eq 2 ] || {
60       echo "cpMakeFiles called with incorrect arguments $@"
61       return 1
62    }
64    pkg=$1
65    dst=$2
67    for i in $(cd wmakeFiles/$pkg && find . -type f)
68    do
69       d=$(dirname  $i)
70       b=$(basename $i)
72       mkdir -p $dst/$d/Make 2>/dev/null
73       [ -e $dst/$d/Make/$b ] || cp wmakeFiles/$pkg/$i $dst/$d/Make/$b
74    done
78 # ----------------------------------------------------------------- end-of-file