#!/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"