build: Handle output files better
This commit is contained in:
14
cargo.sh
14
cargo.sh
@ -11,15 +11,21 @@ SOURCE_DIR="$(dirname "$SCRIPT_PATH")"
|
|||||||
|
|
||||||
CARGO_TARGET_DIR="$(pwd)"
|
CARGO_TARGET_DIR="$(pwd)"
|
||||||
export CARGO_TARGET_DIR
|
export CARGO_TARGET_DIR
|
||||||
if [ -n "${1}" ]; then
|
if [ "${1}" = "--rename" ]; then
|
||||||
OUT_PATH="$(realpath "$1")"
|
shift
|
||||||
|
FILENAME="${1}"
|
||||||
|
shift
|
||||||
|
OUT_PATH="$(realpath "${1}")"
|
||||||
|
elif [ "${1}" = "--output" ]; then
|
||||||
|
shift
|
||||||
|
OUT_PATH="$(realpath "${1}")"
|
||||||
|
FILENAME="$(basename "${OUT_PATH}")"
|
||||||
fi
|
fi
|
||||||
|
shift
|
||||||
|
|
||||||
cd "$SOURCE_DIR"
|
cd "$SOURCE_DIR"
|
||||||
shift
|
|
||||||
cargo "$@"
|
cargo "$@"
|
||||||
|
|
||||||
if [ -n "${OUT_PATH}" ]; then
|
if [ -n "${OUT_PATH}" ]; then
|
||||||
FILENAME="$(basename "${OUT_PATH}")"
|
|
||||||
cp -a "${CARGO_TARGET_DIR}"/debug/"${FILENAME}" "${OUT_PATH}"
|
cp -a "${CARGO_TARGET_DIR}"/debug/"${FILENAME}" "${OUT_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -58,7 +58,7 @@ rslibs = custom_target(
|
|||||||
output: ['librs.a'],
|
output: ['librs.a'],
|
||||||
install: false,
|
install: false,
|
||||||
console: true,
|
console: true,
|
||||||
command: [cargo_script, '@OUTPUT@', 'build', '--lib']
|
command: [cargo_script, '--output', '@OUTPUT@', 'build', '--lib']
|
||||||
)
|
)
|
||||||
|
|
||||||
build_rstests = custom_target(
|
build_rstests = custom_target(
|
||||||
@ -129,8 +129,8 @@ test_layout = custom_target('squeekboard_test_layout',
|
|||||||
build_by_default: true,
|
build_by_default: true,
|
||||||
# meson doesn't track all inputs, cargo does
|
# meson doesn't track all inputs, cargo does
|
||||||
build_always_stale: true,
|
build_always_stale: true,
|
||||||
output: ['test_layout'],
|
output: ['squeekboard_test_layout'],
|
||||||
console: true,
|
console: true,
|
||||||
command: [cargo_script, '@OUTPUT@', 'build', '--bin', 'test_layout'],
|
command: [cargo_script, '--rename', 'test_layout', '@OUTPUT@', 'build', '--bin', 'test_layout'],
|
||||||
install_dir: bindir,
|
install_dir: bindir,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user