mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-02-04 02:51:18 +01:00
Support for bundled Qt, not through aqtinstall but rather my CI. Multimedia is implemented too, works on both Windows and Linux, though we don't actually use it so it doesn't really matter. Contains Declarative and all that so the Quick frontend will work once it becomes a thing. Some options have changed, notably w.r.t LTO and faster linker, which are now handled directly in the modules. CPMUtil also has support for custom dirs (`PackageName_CUSTOM_DIR`) now. Probably most useful for adding external fragment shaders and whatnot. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3289
71 lines
1.2 KiB
Bash
Executable File
71 lines
1.2 KiB
Bash
Executable File
#!/bin/sh -e
|
|
|
|
# SPDX-FileCopyrightText: Copyright 2026 crueter
|
|
# SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
# shellcheck disable=SC1091
|
|
|
|
ROOTDIR=$(CDPATH='' cd -- "$(dirname -- "$0")/cpm" && pwd)
|
|
SCRIPTS="$ROOTDIR"
|
|
|
|
. "$SCRIPTS"/common.sh
|
|
|
|
RETURN=0
|
|
|
|
die() {
|
|
echo "-- $*" >&2
|
|
exit 1
|
|
}
|
|
|
|
usage() {
|
|
cat <<EOF
|
|
Usage: $0 [command]
|
|
|
|
General command-line utility for CPMUtil operations.
|
|
|
|
Commands:
|
|
package Run operations on a package or packages
|
|
format Format all cpmfiles
|
|
update Update CPMUtil and its tooling
|
|
ls List all cpmfiles
|
|
migrate Convert submodules to a basic cpmfile
|
|
|
|
Package commands:
|
|
hash Verify the hash of a package, and update it if needed
|
|
update Check for updates for a package
|
|
fetch Fetch a package and place it in the cache
|
|
add Add a new package
|
|
rm Remove a package
|
|
version Change the version of a package
|
|
which Find which cpmfile a package is defined in
|
|
download Get the download URL for a package
|
|
|
|
EOF
|
|
|
|
exit $RETURN
|
|
}
|
|
|
|
export ROOTDIR
|
|
|
|
while :; do
|
|
case "$1" in
|
|
ls)
|
|
echo "$CPMFILES" | tr ' ' '\n'
|
|
break
|
|
;;
|
|
format | update | migrate)
|
|
"$SCRIPTS/$1".sh
|
|
break
|
|
;;
|
|
package)
|
|
cmd="$1"
|
|
shift
|
|
"$SCRIPTS/$cmd".sh "$@"
|
|
break
|
|
;;
|
|
*) usage ;;
|
|
esac
|
|
|
|
shift
|
|
done
|