cbuild/setup.sh
2024-07-19 00:13:12 +03:00

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"