mirror of
https://github.com/bolucat/Archive.git
synced 2025-12-24 13:28:37 +08:00
47 lines
976 B
Bash
Executable File
47 lines
976 B
Bash
Executable File
#!/bin/sh
|
|
# Usage: run.sh [debug|release] program arguments
|
|
#
|
|
# Runs a program from one of the build directories, with
|
|
# LD_LIBRARY_PATH set correctly so that it can find all of the shared
|
|
# libraries before they're installed.
|
|
|
|
|
|
# Check that there are enough command-line parameters.
|
|
|
|
if [ $# -lt 1 ]; then
|
|
echo "Usage: run.sh [debug|release] program arguments"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
# Verify that the user chose a valid build type.
|
|
|
|
BUILD="$1"
|
|
shift
|
|
|
|
case "$BUILD" in
|
|
debug)
|
|
;;
|
|
release)
|
|
;;
|
|
*)
|
|
echo "Unknown build type $BUILD"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
|
|
# Find all of the src subdirectories in the build directory, and use
|
|
# those as the LD_LIBRARY_PATH.
|
|
|
|
SRC_DIRS=$(find build/$BUILD -name src)
|
|
JOINED=$(echo $SRC_DIRS | perl -ne 'print join(":", split)')
|
|
|
|
|
|
# Run the desired program, and pass on any command-line arguments
|
|
# as-is.
|
|
|
|
LD_LIBRARY_PATH="$JOINED:$LD_LIBRARY_PATH" \
|
|
DYLD_LIBRARY_PATH="$JOINED:$DYLD_LIBRARY_PATH" \
|
|
"$@"
|