#!/bin/bash
# This is a script shell for deploying a meshlab-portable folder.
# Requires a properly built MeshLab (see 1_build.sh).
#
# This script can be run only in the oldest supported linux distro
# due to linuxdeployqt tool choice (see https://github.com/probonopd/linuxdeployqt/issues/340).
#
# Without given arguments, the folder that will be deployed is meshlab/src/install, which
# should be the path where MeshLab has been installed (default output of 1_build.sh).
#
# You can give as argument the path where you installed MeshLab.

SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
INSTALL_PATH=$SCRIPTS_PATH/../../src/install

#checking for parameters
for i in "$@"
do
case $i in
    -i=*|--install_path=*)
    INSTALL_PATH="${i#*=}"
    shift # past argument=value
    ;;
    *)
          # unknown option
    ;;
esac
done

bash $SCRIPTS_PATH/resources/make_bundle.sh $INSTALL_PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTALL_PATH/usr/lib/meshlab
$SCRIPTS_PATH/resources/linuxdeployqt $INSTALL_PATH/usr/share/applications/meshlab.desktop \
  -bundle-non-qt-libs \
  -executable=$INSTALL_PATH/usr/lib/meshlab/plugins/libfilter_sketchfab.so \
  -executable=$INSTALL_PATH/usr/lib/meshlab/plugins/libio_3ds.so \
  -executable=$INSTALL_PATH/usr/lib/meshlab/plugins/libio_ctm.so \
  -executable=$INSTALL_PATH/usr/lib/meshlab/plugins/libio_e57.so \
  -executable=$INSTALL_PATH/usr/lib/meshlab/plugins/libfilter_mesh_booleans.so


chmod +x $INSTALL_PATH/usr/bin/meshlab
rm $INSTALL_PATH/AppRun

cp $SCRIPTS_PATH/resources/AppRunMeshLab $INSTALL_PATH/
mv $INSTALL_PATH/AppRunMeshLab $INSTALL_PATH/AppRun
chmod +x $INSTALL_PATH/AppRun

#at this point, distrib folder contains all the files necessary to execute meshlab
echo "$INSTALL_PATH is now a self contained meshlab application"
