35 lines
675 B
Bash
Executable File
35 lines
675 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# This script manages Cargo builds
|
|
# while keeping the artifact directory within the build tree
|
|
# instead of the source tree
|
|
|
|
set -e
|
|
|
|
SCRIPT_PATH="$(realpath "$0")"
|
|
SOURCE_DIR="$(dirname "$SCRIPT_PATH")"
|
|
|
|
RELEASE=""
|
|
BINARY_DIR="debug"
|
|
if [ "${1}" = "--release" ]; then
|
|
shift
|
|
BINARY_DIR="release"
|
|
RELEASE="--release"
|
|
fi
|
|
|
|
if [ "${1}" = "--rename" ]; then
|
|
shift
|
|
FILENAME="${1}"
|
|
shift
|
|
fi
|
|
OUT_PATH="$(realpath "${1}")"
|
|
shift
|
|
OUT_BASENAME="$(basename "${OUT_PATH}")"
|
|
FILENAME="${FILENAME:-"${OUT_BASENAME}"}"
|
|
|
|
sh "$SOURCE_DIR"/cargo.sh build $RELEASE "$@"
|
|
|
|
if [ -n "${OUT_PATH}" ]; then
|
|
cp -a ./"${BINARY_DIR}"/"${FILENAME}" "${OUT_PATH}"
|
|
fi
|