-
Notifications
You must be signed in to change notification settings - Fork 3
/
setenv
24 lines (20 loc) · 1.07 KB
/
setenv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env -S sh -c "echo >&2 \"Error: You are running this script instead of sourcing it. Make sure to use it as 'source setenv' or '. setenv', otherwise its settings won't take effect.\"; exit 1"
# first argument can be (e.g. 'source setenv -q'):
# -q : do not show banner text on configuration success
# -r : remove an already configured environment
# Get the directory where this script reside using a trick (works differently on bash and zsh)
# On bash, the current script's name is in 'BASH_SOURCE[0]'
if [ "$BASH_VERSION" != "" ]; then # for BASH
dir=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)
elif [ "$ZSH_VERSION" != "" ]; then # on zsh the script name is in '$0'
dir=$(cd $(dirname $0) && pwd)
else # on any other SH compatible shell we assume that the current working directory is the OMNeT++ root directory
dir=$(pwd)
fi
# check if dir is really pointing to an omnet++ installation dir
if [ ! -f $dir/bin/inetgpl ]; then
echo "Error: '$dir' does not look like an INET-GPL root directory"
return 1
fi
export INETGPL_ROOT=$(pwd)
export PATH=$INETGPL_ROOT/bin:$PATH