From 8f5cb8b21c9af6df9f982d172e8afbb52c93b2ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0erif=20Rami?= Date: Tue, 19 Aug 2025 18:49:28 +0200 Subject: [PATCH] control panel gui appimage build script fixes --- .gitignore | 1 + tascam_controls/build_appimage.sh | 53 +++++++++++++++++++++++-------- 2 files changed, 41 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index b8b4b7c..8cf8ec7 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ dkms.conf /tascam_controls/AppDir *.cmake /tascam_controls/build +/tascam_controls/.tools diff --git a/tascam_controls/build_appimage.sh b/tascam_controls/build_appimage.sh index f2ea52e..a5dfefb 100755 --- a/tascam_controls/build_appimage.sh +++ b/tascam_controls/build_appimage.sh @@ -7,22 +7,31 @@ PROJECT_DIR=$(pwd) BUILD_DIR="${PROJECT_DIR}/build" TOOLS_DIR="${PROJECT_DIR}/.tools" -LINUXDEPLOY_FILENAME="linuxdeploy-x86_64.AppImage" + +LINUXDEPLOY_FILENAME="linuxdeploy-xnormal.AppImage" LINUXDEPLOY_PATH="${TOOLS_DIR}/${LINUXDEPLOY_FILENAME}" LINUXDEPLOY_URL="https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" +QT_PLUGIN_FILENAME="linuxdeploy-plugin-qt" +QT_PLUGIN_PATH="${TOOLS_DIR}/${QT_PLUGIN_FILENAME}" +QT_PLUGIN_URL="https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage" + +echo "--- Checking for deployment tools ---" +mkdir -p "${TOOLS_DIR}" -echo "--- Checking for linuxdeploy tool ---" if [ ! -f "${LINUXDEPLOY_PATH}" ]; then echo "linuxdeploy not found. Downloading..." - mkdir -p "${TOOLS_DIR}" - wget -O "${LINUXDEPLOY_PATH}" "${LINUXDEPLOY_URL}" - echo "Making linuxdeploy executable..." + wget -c -O "${LINUXDEPLOY_PATH}" "${LINUXDEPLOY_URL}" chmod +x "${LINUXDEPLOY_PATH}" -else - echo "linuxdeploy found at ${LINUXDEPLOY_PATH}" fi +if [ ! -f "${QT_PLUGIN_PATH}" ]; then + echo "linuxdeploy-plugin-qt not found. Downloading..." + wget -c -O "${QT_PLUGIN_PATH}" "${QT_PLUGIN_URL}" + chmod +x "${QT_PLUGIN_PATH}" +fi +echo "All tools are ready." + echo "--- Building the C++ application ---" mkdir -p ${BUILD_DIR} @@ -31,16 +40,34 @@ cmake .. make -j$(nproc) cd ${PROJECT_DIR} - echo "--- Running linuxdeploy to create the AppImage ---" rm -rf AppDir -"${LINUXDEPLOY_PATH}" --appdir AppDir \ --e "${BUILD_DIR}/${APP_NAME}" \ --i "${PROJECT_DIR}/resources/tascam-control-panel.png" \ --d "${PROJECT_DIR}/tascam-control-panel.desktop" \ ---output appimage +export NO_STRIP=1 +export PATH="${TOOLS_DIR}:${PATH}" + +echo "--- Detecting Qt6 qmake ---" +if command -v qmake6 &> /dev/null; then + export QMAKE=$(command -v qmake6) +elif command -v qt6-qmake &> /dev/null; then + export QMAKE=$(command -v qt6-qmake) +elif command -v qmake &> /dev/null && qmake -v | grep -q "Qt version 6"; then + export QMAKE=$(command -v qmake) +else + echo "ERROR: Could not find a Qt6 qmake executable." + echo "Please install the Qt6 development package for your distribution." + echo "(e.g., 'sudo pacman -S qt6-base' or 'sudo apt install qt6-base-dev')" + exit 1 +fi +echo "Found qmake at: ${QMAKE}" + +"${LINUXDEPLOY_PATH}" --appdir AppDir \ + -e "${BUILD_DIR}/${APP_NAME}" \ + -i "${PROJECT_DIR}/resources/tascam-control-panel.png" \ + -d "${PROJECT_DIR}/tascam-control-panel.desktop" \ + --plugin qt \ + --output appimage echo "" echo "--- DONE ---"