mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: reduce wmake bootstrap dependencies
- remove make target for wmdep (flex-based scanner), which eliminates a bootstrap dependency on flex. As of OpenFOAM-v1806, wmdep has been superseded by wmdepend (ragel-based scanner). - replace dirToString binary with shell/awk equivalent for simpler maintenance. The utility is very rarely used (auto scanning to create Make/files) so there is no performance difference.
This commit is contained in:
committed by
Andrew Heather
parent
2e544489bf
commit
137130e437
90
wmake/scripts/dirToString
Executable file
90
wmake/scripts/dirToString
Executable file
@ -0,0 +1,90 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, licensed under GNU General Public License
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# dirToString
|
||||
#
|
||||
# Usage
|
||||
# dirToString path/to/file
|
||||
#
|
||||
# Description
|
||||
# Converts a directory path into a camelCase string.
|
||||
# Leading [./] characters are stripped by default.
|
||||
#
|
||||
# For example,
|
||||
# input: dir1/dir2/dir3
|
||||
# output: dir1Dir2Dir3
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
Usage: ${0##*/} [OPTION] dir
|
||||
|
||||
options:
|
||||
-no-strip Do not ignore leading [./] characters
|
||||
-strip Ignore leading [./] characters (default)
|
||||
-h, -help Print the usage
|
||||
|
||||
Converts a directory path into a camelCase string
|
||||
|
||||
USAGE
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Parse arguments and options
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
optStrip=true
|
||||
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
# Print help
|
||||
(-h | -help*)
|
||||
usage
|
||||
;;
|
||||
(-s | -strip)
|
||||
optStrip=true
|
||||
;;
|
||||
(-no-strip)
|
||||
unset optStrip
|
||||
;;
|
||||
(--)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
(*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$optStrip" ]
|
||||
then
|
||||
dirName="$1"
|
||||
else
|
||||
# Ignore any leading ./ characters
|
||||
dirName="$(echo ""$1"" | sed -e 's@^[./]*@@')"
|
||||
fi
|
||||
|
||||
dirName=$(echo "$dirName" | \
|
||||
awk 'BEGIN{FS="";RS="/";ORS=""} {if (FNR>1) {$0=toupper(substr($0,1,1))substr($0,2)}} 1')
|
||||
|
||||
echo "$dirName"
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user