- Query the etc/config.sh values for ThirdParty software. Usable without an active OpenFOAM environment.
110 lines
2.9 KiB
Bash
Executable File
110 lines
2.9 KiB
Bash
Executable File
#!/bin/sh
|
|
#------------------------------------------------------------------------------
|
|
# ========= |
|
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
# \\ / O peration |
|
|
# \\ / A nd | www.openfoam.com
|
|
# \\/ M anipulation |
|
|
#------------------------------------------------------------------------------
|
|
# Copyright (C) 2020 OpenCFD Ltd.
|
|
#------------------------------------------------------------------------------
|
|
# License
|
|
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
|
#
|
|
# Script
|
|
# query-versions
|
|
#
|
|
# Description
|
|
# Query (ThirdParty) versions based on their etc/config.sh values
|
|
# Executes their respective -query.
|
|
#
|
|
# TODO
|
|
# cmake, vtk, paraview
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
# Hard-coded value (eg, with autoconfig)
|
|
projectDir="@PROJECT_DIR@"
|
|
|
|
if [ -z "$projectDir" ] || [ "${projectDir#@}" != "$projectDir" ]
|
|
then
|
|
# Auto-detect from location
|
|
toolsDir="${0%/*}" # The bin/tools dir
|
|
projectDir="${toolsDir%/bin/tools}" # Project dir
|
|
|
|
case "$projectDir" in
|
|
(/bin | /usr/bin | /usr/local/bin)
|
|
# This shouldn't happen.
|
|
# If copied to a system dir, should also be using hard-coded values!
|
|
echo "Warning: suspicious looking project dir: $projectDir" 1>&2
|
|
;;
|
|
|
|
("$toolsDir")
|
|
# Eg, called as ./openfoam etc - need to try harder
|
|
projectDir="$(\cd $(dirname $0)/../.. && \pwd -L)" || unset projectDir
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
#------------------------------------------------------------------------------
|
|
usage() {
|
|
exec 1>&2
|
|
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
|
cat<<USAGE
|
|
|
|
Usage: ${0##*/} [OPTION]
|
|
|
|
options:
|
|
-h, -help Print the usage
|
|
|
|
Query (ThirdParty) versions based on their etc/config.sh values.
|
|
Uses OpenFOAM wmake/scripts/have_* scripts.
|
|
|
|
USAGE
|
|
exit 1
|
|
}
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Parse options
|
|
while [ "$#" -gt 0 ]
|
|
do
|
|
case "$1" in
|
|
# Print help
|
|
(-h | -help*)
|
|
usage
|
|
;;
|
|
|
|
(*)
|
|
echo "Ignore unknown option/argument: $@" 1>&2
|
|
break
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
#------------------------------------------------------------------------------
|
|
scriptsDir="$projectDir/wmake/scripts"
|
|
|
|
[ -d "$scriptsDir" ] || {
|
|
echo "No such directory: $scriptsDir" 1>&2
|
|
exit 2
|
|
}
|
|
|
|
# Allow operation without an active OpenFOAM environment
|
|
export WM_PROJECT_DIR="$projectDir"
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Examine the "wmake/scripts/have_..." scripts for query_...() functions,
|
|
# assume they also have a -query option
|
|
|
|
for script in grep -l -e '^query_' "$scriptsDir"/have_*
|
|
do
|
|
if [ -f "$script" ]
|
|
then
|
|
bash "$script" -query
|
|
fi
|
|
done
|
|
|
|
#------------------------------------------------------------------------------
|