32 lines
		
	
	
		
			635 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			635 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
# This script manages Cargo operations
 | 
						|
# 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")"
 | 
						|
 | 
						|
CARGO_TARGET_DIR="$(pwd)"
 | 
						|
export CARGO_TARGET_DIR
 | 
						|
if [ "${1}" = "--rename" ]; then
 | 
						|
    shift
 | 
						|
    FILENAME="${1}"
 | 
						|
    shift
 | 
						|
    OUT_PATH="$(realpath "${1}")"
 | 
						|
elif [ "${1}" = "--output" ]; then
 | 
						|
    shift
 | 
						|
    OUT_PATH="$(realpath "${1}")"
 | 
						|
    FILENAME="$(basename "${OUT_PATH}")"
 | 
						|
fi
 | 
						|
shift
 | 
						|
 | 
						|
cd "$SOURCE_DIR"
 | 
						|
cargo "$@"
 | 
						|
 | 
						|
if [ -n "${OUT_PATH}" ]; then
 | 
						|
    cp -a "${CARGO_TARGET_DIR}"/debug/"${FILENAME}" "${OUT_PATH}"
 | 
						|
fi
 |