From 9f5c6eb33647cebef439ec61374a8de0879bf85c Mon Sep 17 00:00:00 2001 From: Terry Chan Date: Tue, 17 Jun 2025 08:31:47 +0800 Subject: [PATCH] Packaging: add pyinstaller script --- contrib/packaging/macos.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 contrib/packaging/macos.sh diff --git a/contrib/packaging/macos.sh b/contrib/packaging/macos.sh new file mode 100755 index 00000000..fee2b9bd --- /dev/null +++ b/contrib/packaging/macos.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# make sure starting from project's root +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +cd "$SCRIPT_DIR/../.." + +python3 -m pip install pyinstaller + +make clean +rm -rf build/portable/ +mkdir -p build/portable/ +cp -R ./modmesh build/portable/ +cp -R ./resources build/portable/ +cd build/portable/ + +cat > modmesh.py <<'EOF' +import os +os.environ["QT3D_RENDERER"] = "opengl" +from modmesh.pilot import launch +if __name__ == "__main__": + launch() +EOF + +pyinstaller --onedir \ + --windowed \ + --add-data "modmesh:modmesh" \ + --hidden-import PySide6.Qt3DCore \ + --hidden-import PySide6.Qt3DRender \ + --hidden-import PySide6.Qt3DExtras \ + --hidden-import PySide6.Qt3DInput \ + --exclude-module PySide6.QtNetwork \ + --icon="resources/pilot/solvcon.icns" \ + modmesh.py \ No newline at end of file