diff --git a/bin/mangohud-setup.sh b/bin/mangohud-setup.sh index aa492cc8..0790c9d9 100755 --- a/bin/mangohud-setup.sh +++ b/bin/mangohud-setup.sh @@ -1,7 +1,11 @@ XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" MANGOHUD_CONFIG_DIR="$XDG_CONFIG_HOME/MangoHud" -config() { +mangohud_usage() { + echo 'Accepted arguments: "install", "uninstall".' +} + +mangohud_config() { mkdir -p "${MANGOHUD_CONFIG_DIR}" echo You can use the example configuration file from echo /usr/share/doc/mangohud/MangoHud.conf.example @@ -10,16 +14,27 @@ config() { echo } -install() { +mangohud_install() { rm -rf "$HOME/.local/share/MangoHud/" rm -f "$HOME/.local/share/vulkan/implicit_layer.d/"{mangohud32.json,mangohud64.json} - [ "$UID" -eq 0 ] || config + + [ "$UID" -eq 0 ] || mangohud_config + [ "$UID" -eq 0 ] || tar xf MangoHud-package.tar [ "$UID" -eq 0 ] || exec sudo bash "$0" install - tar -C / --no-overwrite-dir -xvhf MangoHud-package.tar + + install -vm644 -D ./usr/lib/mangohud/lib32/libMangoHud.so /usr/lib/mangohud/lib32/libMangoHud.so + install -vm644 -D ./usr/lib/mangohud/lib64/libMangoHud.so /usr/lib/mangohud/lib64/libMangoHud.so + install -vm644 -D ./usr/share/vulkan/implicit_layer.d/MangoHud.x86.json /usr/share/vulkan/implicit_layer.d/MangoHud.x86.json + install -vm644 -D ./usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json /usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json + install -vm644 -D ./usr/share/doc/mangohud/MangoHud.conf.example /usr/share/doc/mangohud/MangoHud.conf.example + + install -vm755 ./usr/bin/mangohud.x86 /usr/bin/mangohud.x86 + install -vm755 ./usr/bin/mangohud /usr/bin/mangohud + echo "MangoHud Installed" } -uninstall() { +mangohud_uninstall() { [ "$UID" -eq 0 ] || exec sudo bash "$0" uninstall rm -rfv "/usr/lib/mangohud" rm -fv "/usr/share/vulkan/implicit_layer.d/MangoHud.x86.json" @@ -31,10 +46,14 @@ uninstall() { for a in $@; do case $a in - "install") install;; - "uninstall") uninstall;; + "install") mangohud_install;; + "uninstall") mangohud_uninstall;; *) echo "Unrecognized command argument: $a" - echo 'Accepted arguments: "install", "uninstall".' + mangohud_usage esac -done \ No newline at end of file +done + +if [ -z $@ ]; then + mangohud_usage +fi \ No newline at end of file diff --git a/build.sh b/build.sh index d308c65d..376beb8b 100755 --- a/build.sh +++ b/build.sh @@ -158,13 +158,19 @@ release() { install() { rm -rf "$HOME/.local/share/MangoHud/" rm -f "$HOME/.local/share/vulkan/implicit_layer.d/"{mangohud32.json,mangohud64.json} - if [[ ! -f build/MangoHud-package.tar ]]; then - echo No package found. Run \"$0 package\". - exit 1 - fi + [ "$UID" -eq 0 ] || mkdir -pv "${CONFIG_DIR}" [ "$UID" -eq 0 ] || exec sudo bash "$0" install - tar -C / --no-overwrite-dir -xvhf build/MangoHud-package.tar + + /usr/bin/install -vm644 -D ./build/release/usr/lib/mangohud/lib32/libMangoHud.so /usr/lib/mangohud/lib32/libMangoHud.so + /usr/bin/install -vm644 -D ./build/release/usr/lib/mangohud/lib64/libMangoHud.so /usr/lib/mangohud/lib64/libMangoHud.so + /usr/bin/install -vm644 -D ./build/release/usr/share/vulkan/implicit_layer.d/MangoHud.x86.json /usr/share/vulkan/implicit_layer.d/MangoHud.x86.json + /usr/bin/install -vm644 -D ./build/release/usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json /usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json + /usr/bin/install -vm644 -D ./build/release/usr/share/doc/mangohud/MangoHud.conf.example /usr/share/doc/mangohud/MangoHud.conf.example + + /usr/bin/install -vm755 ./build/release/usr/bin/mangohud.x86 /usr/bin/mangohud.x86 + /usr/bin/install -vm755 ./build/release/usr/bin/mangohud /usr/bin/mangohud + echo "MangoHud Installed" }