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
38 lines
1017 B
Bash
Executable File
38 lines
1017 B
Bash
Executable File
#!/bin/sh -e
|
|
|
|
# SPDX-FileCopyrightText: Copyright 2026 crueter
|
|
# SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
##################################
|
|
# CHANGE THESE FOR YOUR PROJECT! #
|
|
##################################
|
|
|
|
# TODO: cache cpmfile defs
|
|
|
|
must_install() {
|
|
for cmd in "$@"; do
|
|
command -v "$cmd" >/dev/null 2>&1 || { echo "-- $cmd must be installed" && exit 1; }
|
|
done
|
|
}
|
|
|
|
must_install jq find mktemp tar 7z unzip sha512sum git patch curl xargs
|
|
|
|
# How many levels to go (3 is 2 subdirs max)
|
|
MAXDEPTH=3
|
|
|
|
# For your project you'll want to change this to define what dirs you have cpmfiles in
|
|
# Remember to account for the MAXDEPTH variable!
|
|
# Adding ./ before each will help to remove duplicates
|
|
CPMFILES=$(find . -maxdepth "$MAXDEPTH" -name cpmfile.json | sort | uniq)
|
|
|
|
# shellcheck disable=SC2016
|
|
PACKAGES=$(echo "$CPMFILES" | xargs jq -s 'reduce .[] as $item ({}; . * $item)')
|
|
|
|
LIBS=$(echo "$PACKAGES" | jq -j 'keys_unsorted | join(" ")')
|
|
|
|
export PACKAGES
|
|
export CPMFILES
|
|
export LIBS
|
|
export DIRS
|
|
export MAXDEPTH
|