meshlab/scripts/Windows/internal/2c_installer.sh
2024-02-02 16:01:58 +01:00

70 lines
1.8 KiB
Bash

#!/bin/bash
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"/..
RESOURCES_PATH=$SCRIPTS_PATH/../../resources
INSTALL_PATH=$SCRIPTS_PATH/../../install
PACKAGES_PATH=$SCRIPTS_PATH/../../packages
#checking for parameters
for i in "$@"
do
case $i in
-i=*|--install_path=*)
INSTALL_PATH="${i#*=}"
shift # past argument=value
;;
-p=*|--packages_path=*)
PACKAGES_PATH="${i#*=}"
shift # past argument=value
;;
*)
# unknown option
;;
esac
done
# Make nsis script
#get version
IFS=' ' #space delimiter
STR_VERSION=$($INSTALL_PATH/meshlab.exe --version)
read -a strarr <<< "$STR_VERSION"
ML_VERSION=${strarr[1]} #get the meshlab version from the string
sed "s%MESHLAB_VERSION%$ML_VERSION%g" $RESOURCES_PATH/windows/meshlab.nsi > $RESOURCES_PATH/windows/meshlab_final.nsi
sed -i "s%DISTRIB_PATH%.%g" $RESOURCES_PATH/windows/meshlab_final.nsi
mv $RESOURCES_PATH/windows/meshlab_final.nsi $INSTALL_PATH/
cp $RESOURCES_PATH/windows/ExecWaitJob.nsh $INSTALL_PATH/
cp $RESOURCES_PATH/windows/FileAssociation.nsh $INSTALL_PATH/
# Make Installer
makensis.exe $INSTALL_PATH/meshlab_final.nsi
rm $INSTALL_PATH/meshlab_final.nsi
rm $INSTALL_PATH/ExecWaitJob.nsh
rm $INSTALL_PATH/FileAssociation.nsh
mkdir $PACKAGES_PATH
# get the name of the installer file, without the path
INSTALLER_NAME=$(basename $INSTALL_PATH/MeshLab*-windows.exe)
# get the name of the installer without the extension
INSTALLER_NAME=${INSTALLER_NAME%.*}
# get running architecture
ARCH=$(uname -m)
# append the architecture and extension to the installer name
INSTALLER_NAME=${INSTALLER_NAME}_$ARCH.exe
# rename the installer and move it to the packages folder
mv $INSTALL_PATH/MeshLab*-windows.exe $INSTALL_PATH/$INSTALLER_NAME
mv $INSTALL_PATH/$INSTALLER_NAME $PACKAGES_PATH