44 lines
1.3 KiB
Bash
44 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
# USAGE: ./setup.sh install cbuild to /usr/local
|
|
# ./setup.sh --local install cbuild to ~/.local
|
|
|
|
# exit on errors
|
|
set -xeo pipefail
|
|
CBUILD_VERSION=2.1.0
|
|
|
|
function version_parse {
|
|
local v="$1"
|
|
IFS_backup="$IFS"
|
|
IFS='.'
|
|
v_array=($v)
|
|
IFS="$IFS_backup"
|
|
version_major=${v_array[0]}
|
|
version_minor=${v_array[1]}
|
|
version_patch=${v_array[2]}
|
|
}
|
|
|
|
version_parse $CBUILD_VERSION
|
|
if [ -z "$CBUILD_INSTALL_DIR" ]; then
|
|
if [ "$1" = "--local" ]; then
|
|
CBUILD_INSTALL_DIR="~/.local/share/cbuild/${version_major}.${version_minor}"
|
|
CBUILD_BIN_DIR="~/.local/bin"
|
|
mkdir -p "~/.local"
|
|
mkdir -p "~/.local/share"
|
|
mkdir -p "~/.local/share/cbuild"
|
|
mkdir -p "~/.local/bin"
|
|
else
|
|
CBUILD_INSTALL_DIR="/usr/local/share/cbuild/${version_major}.${version_minor}"
|
|
CBUILD_BIN_DIR="/usr/local/bin"
|
|
mkdir -p "/usr/local/share"
|
|
mkdir -p "/usr/local/share/cbuild"
|
|
mkdir -p "/usr/local/bin"
|
|
fi
|
|
fi
|
|
|
|
rm -rf "$CBUILD_INSTALL_DIR"
|
|
cp -r ./ "$CBUILD_INSTALL_DIR"
|
|
rm -rf "$CBUILD_INSTALL_DIR/.git"
|
|
ln -sf "$(realpath $CBUILD_INSTALL_DIR/cbuild.sh)" -T "$CBUILD_BIN_DIR/cbuild${version_major}.${version_minor}"
|
|
|
|
ln -sf "$(realpath $CBUILD_INSTALL_DIR/cbuild.sh)" -T "$CBUILD_BIN_DIR/cbuild"
|