build: Fix release
This commit is contained in:
49
cargo_build.py
Normal file
49
cargo_build.py
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
"""This script manages Cargo builds
|
||||||
|
while keeping the artifact directory within the build tree
|
||||||
|
instead of the source tree.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
import shlex
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
|
source_dir = Path(__file__).absolute().parent
|
||||||
|
|
||||||
|
args = sys.argv[1:]
|
||||||
|
binary_dir = "debug"
|
||||||
|
|
||||||
|
if '--release' in args:
|
||||||
|
binary_dir = "release"
|
||||||
|
|
||||||
|
# The file produced by Cargo will have a special name
|
||||||
|
try:
|
||||||
|
i = args.index('--rename')
|
||||||
|
except ValueError:
|
||||||
|
filename = None
|
||||||
|
else:
|
||||||
|
args.pop(i)
|
||||||
|
filename = args.pop(i)
|
||||||
|
|
||||||
|
# The target destination of the produced file is a positional argument
|
||||||
|
out_path = [arg for arg in args if not arg.startswith('--')]
|
||||||
|
if out_path:
|
||||||
|
out_path = out_path[0]
|
||||||
|
i = args.index(out_path)
|
||||||
|
args.pop(i)
|
||||||
|
|
||||||
|
subprocess.run(['sh', "{}/cargo.sh".format(shlex.quote(source_dir.as_posix())), 'build']
|
||||||
|
+ args,
|
||||||
|
check=True)
|
||||||
|
|
||||||
|
if out_path:
|
||||||
|
out_path = Path(out_path).absolute()
|
||||||
|
out_basename = out_path.name
|
||||||
|
filename = filename or out_basename
|
||||||
|
subprocess.run(['cp', '-a',
|
||||||
|
'./{}/{}'.format(shlex.quote(binary_dir), shlex.quote(filename)),
|
||||||
|
out_path],
|
||||||
|
check=True)
|
||||||
|
|
||||||
@ -1,34 +0,0 @@
|
|||||||
#!/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
|
|
||||||
1
debian/control
vendored
1
debian/control
vendored
@ -26,6 +26,7 @@ Build-Depends:
|
|||||||
librust-xkbcommon-0.4+wayland-dev (>= 0.4),
|
librust-xkbcommon-0.4+wayland-dev (>= 0.4),
|
||||||
libwayland-dev (>= 1.16),
|
libwayland-dev (>= 1.16),
|
||||||
lsb-release,
|
lsb-release,
|
||||||
|
python3,
|
||||||
rustc,
|
rustc,
|
||||||
wayland-protocols (>= 1.14),
|
wayland-protocols (>= 1.14),
|
||||||
Standards-Version: 4.1.3
|
Standards-Version: 4.1.3
|
||||||
|
|||||||
@ -100,7 +100,7 @@ cargo_toml = custom_target(
|
|||||||
|
|
||||||
dep_cargo = find_program('cargo')
|
dep_cargo = find_program('cargo')
|
||||||
cargo_script = find_program('cargo.sh')
|
cargo_script = find_program('cargo.sh')
|
||||||
cargo_build = find_program('cargo_build.sh')
|
cargo_build = find_program('cargo_build.py')
|
||||||
|
|
||||||
subdir('data')
|
subdir('data')
|
||||||
subdir('protocols')
|
subdir('protocols')
|
||||||
|
|||||||
Reference in New Issue
Block a user