56 lines
2 KiB
Bash
Executable file
56 lines
2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
DIR="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$DIR/.." || exit 1
|
|
|
|
rebuild=true
|
|
|
|
while [ $# -gt 0 ]; do
|
|
case "$1" in
|
|
--no-rebuild)
|
|
rebuild=false
|
|
;;
|
|
*)
|
|
box "Error: Invalid argument."
|
|
exit 1
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ "$rebuild" == "true" ]; then
|
|
rm -rf build
|
|
bash scripts/build.sh
|
|
fi
|
|
|
|
cd build/runtime-pyside6 || exit 1
|
|
|
|
rm $(find . -name "*.pyc")
|
|
|
|
pyinstaller --add-data "LogarithmPlotter/qml:qml" \
|
|
--add-data "LogarithmPlotter/i18n:i18n" \
|
|
--add-data "../../LICENSE.md:." \
|
|
--add-data "../../assets/native/mac/logarithmplotterfile.icns:." \
|
|
--add-data "../../README.md:." \
|
|
--exclude-module "FixTk" \
|
|
--exclude-module "tcl" \
|
|
--exclude-module "tk" \
|
|
--exclude-module "_tkinter" \
|
|
--exclude-module "tkinter" \
|
|
--exclude-module "Tkinter" \
|
|
--noconsole \
|
|
--noconfirm \
|
|
--icon=../../assets/native/mac/logarithmplotter.icns \
|
|
--osx-bundle-identifier eu.ad5001.LogarithmPlotter \
|
|
-n LogarithmPlotter \
|
|
LogarithmPlotter/logarithmplotter.py
|
|
|
|
cp ../../assets/native/mac/Info.plist dist/LogarithmPlotter.app/Contents/Info.plist
|
|
|
|
# Remove QtWebEngine, 3D and all other unused libs libs
|
|
rm -rf dist/LogarithmPlotter.app/Contents/MacOS/{QtWeb*,*3D*,QtRemote*,QtPdf,QtCharts,QtLocation,QtTest,QtMultimedia,QtSpatialAudio,QtDataVisualization,QtQuickParticles,QtChartsQml,QtScxml,QtDataVisualizationQml,QtTest,QtPositioningQuick,QtQuickTest,QtSql,QtSensorsQuick}
|
|
rm -rf dist/LogarithmPlotter.app/Contents/MacOS/PySide6/QtNetwork.abi3.so
|
|
|
|
# Removing QtQuick3D
|
|
rm -rf dist/LogarithmPlotter.app/Contents/MacOS/PySide6/Qt/qml/{QtQuick3D,Qt3D,QtWebEngine}
|
|
|
|
# Remove the QtQuick styles that are unused
|
|
rm -rf dist/LogarithmPlotter.app/Contents/MacOS/PySide6/Qt/qml/QtQuick/Controls/{Imagine,Material,iOS,Universal,designer}
|