meshlab/scripts/Linux/qmake/linux_make_bundle.sh
2021-03-05 09:18:01 +01:00

59 lines
1.7 KiB
Bash

#!/bin/bash
# this is a script shell for setting up the application bundle for linux
# Requires a properly built meshlab.
#
# Without given arguments, the application boundle will be placed in the meshlab/distrib
# directory.
#
# You can give as argument the DISTRIB_PATH.
#checking for parameters
if [ "$#" -eq 0 ]
then
DISTRIB_PATH="../../../distrib"
else
DISTRIB_PATH=$(realpath $1)
fi
cd "$(dirname "$(realpath "$0")")"; #move to script directory
SOURCE_PATH=$PWD/../../../src
INSTALL_PATH=$(pwd)/../
cd $DISTRIB_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
#check if we have an exec in distrib
if ! [ -f meshlab ]
then
echo "ERROR: meshlab bin not found inside distrib"
exit 1
fi
mkdir -p usr/bin
mkdir -p usr/lib/meshlab
mkdir -p usr/share/applications
mkdir -p usr/share/meshlab
mkdir -p usr/share/doc/meshlab
mkdir -p usr/share/icons/hicolor/512x512/apps/
mkdir -p usr/share/icons/Yaru/512x512/apps/
cp $INSTALL_PATH/resources/meshlab_appimage.desktop usr/share/applications/meshlab.desktop
#cp $INSTALL_PATH/resources/meshlab_server_appimage.desktop usr/share/applications/meshlab_server.desktop
cp meshlab.png usr/share/icons/hicolor/512x512/apps/meshlab.png
mv meshlab.png usr/share/icons/Yaru/512x512/apps/meshlab.png
mv meshlab usr/bin
#mv meshlabserver usr/bin
mv LICENSE.txt usr/share/doc/meshlab/
mv privacy.txt usr/share/doc/meshlab/
mv readme.txt usr/share/doc/meshlab/
mv lib/libmeshlab-common* usr/lib/
mv plugins/ usr/lib/meshlab/
mv lib/meshlab/* usr/lib/meshlab/
#patchelf --set-rpath '$ORIGIN/..' usr/lib/meshlab/plugins/*.so
mv shaders/ usr/share/meshlab/
rm -r lib
patchelf --set-rpath '$ORIGIN/../lib/meshlab/' usr/bin/meshlab
#patchelf --set-rpath '$ORIGIN/../lib/meshlab/' usr/bin/meshlabserver