-
Notifications
You must be signed in to change notification settings - Fork 118
/
nrnversion.sh
executable file
·49 lines (42 loc) · 1.26 KB
/
nrnversion.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env bash
# extract commit version info from src/nrnoc/nrnversion.h
# and PACKAGE_VERSION from configure.ac
if test "$NSRC" = "" ; then
NSRC=$HOME/neuron/nrn
fi
if test -f $NSRC/src/nrnoc/nrnversion.h ; then
VERHFILE=`cat $NSRC/src/nrnoc/nrnversion.h`
elif test -d $NSRC/.git ; then
VERHFILE=`sh $NSRC/git2nrnversion_h.sh`
fi
GIT=GIT
global=`echo "$VERHFILE" | sed -n '/GIT_CHANGESET/s/.*"\(.*\)".*/\1/p'`
type=`echo "$VERHFILE" | sed -n /${GIT}'_BRANCH/s/.*\(".*"\).*/\1/p' | sed '
s/"Release.*"/rel/
s/"\(.*\)"/\1/
'`
describe=`echo "$VERHFILE" | sed -n /${GIT}'_DESCRIBE/s/.*"\(.*\)".*/\1/p'`
base=`echo $global | sed 's/\+//'`
commit=$global
date=`echo "$VERHFILE" | sed -n /${GIT}'_DATE/s/.*"\(.*\)".*/\1/p'`
micro=`echo $describe | sed -n 's/[0-9]*\.[0-9]*\.\([0-9]*\).*/\1/p'`
nano=''
if echo $describe | grep -q '\-' ; then
nano=`echo $describe | sed -n 's/[^-]*\-\([0-9]*\).*/\1/p'`
fi
microdotnano=$micro
if test "$nano" != "" ; then
microdotnano=$micro.$nano
fi
case $1 in
"type") echo $type ;;
"commit") echo ${type}-${commit} ;;
"describe") echo $describe ;;
"base") echo $base ;;
"global") echo $global ;;
"date") echo $date ;;
"micro") echo $micro ;;
"nano") echo $nano ;;
"microdotnano") echo $microdotnano ;;
*) echo $describe ;;
esac