Files
status-app/mobile/scripts/buildStatusQ.sh
Alex Jbanca 7632172512 build: move StatusQ QML and assets from libStatusQ into the mobile app
New STATUSQ_BUNDLE_QML option (default ON, desktop/storybook unchanged);
mobile passes OFF and bundles statusq.qrc + asset qrcs via Status.pro so
the Qt Quick Compiler processes StatusQ's QML (57% of its bindings
AOT-compile, tree 46% -> 48%). Resource paths are unchanged.

First-launch cold start on device: 5.65s -> 4.83s; runtime QML
compilation is now fully eliminated (warm == cold).
2026-08-13 16:41:46 +03:00

61 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
set -ef pipefail
BASEDIR=$(dirname "$0")
# Load common config variables
source "${BASEDIR}/commonCmakeConfig.sh"
STATUSQ=${STATUSQ:="../vendors/status-desktop/ui/StatusQ"}
LIB_DIR=${LIB_DIR}
LIB_SUFFIX=${LIB_SUFFIX:=""}
LIB_EXT=${LIB_EXT:=".a"}
BUILD_DIR="${STATUSQ}/build/${OS}/StatusQ"
STATIC_LIB=ON
if [[ "${LIB_EXT}" == ".so" ]]; then
STATIC_LIB=OFF
fi
echo "Building StatusQ for ${ARCH} using compiler: ${CC} with CMAKE_TOOLCHAIN_FILE ${CMAKE_TOOLCHAIN_FILE}"
printf 'COMMON_CMAKE_CONFIG: %s\n' "${COMMON_CMAKE_CONFIG[@]}"
cmake -S "${STATUSQ}" -B "${BUILD_DIR}" \
"${COMMON_CMAKE_CONFIG[@]}" \
-DSTATUSQ_BUILD_SANDBOX=OFF \
-DSTATUSQ_BUILD_SANITY_CHECKER=OFF \
-DSTATUSQ_BUILD_TESTS=OFF \
-DSTATUSQ_STATIC_LIB=${STATIC_LIB} \
-DSTATUSQ_BUNDLE_QML=OFF \
-DSTATUSQ_TESTMODE=$([[ "${STATUSQ_TESTMODE}" == "true" ]] && echo ON || echo OFF)
make -C "${BUILD_DIR}" SCodes -j "$(nproc)"
make -C "${BUILD_DIR}" StatusQ -j "$(nproc)"
MOBILEWEBVIEW_JAVA_DIR_FILE="${BUILD_DIR}/mobilewebview_java_dir.txt"
if [[ -f "${MOBILEWEBVIEW_JAVA_DIR_FILE}" ]]; then
export MOBILEWEBVIEW_ANDROID_JAVA_SRC
MOBILEWEBVIEW_ANDROID_JAVA_SRC="$(<"${MOBILEWEBVIEW_JAVA_DIR_FILE}")"
fi
mkdir -p "${LIB_DIR}"
STATUSQ_LIB=$(find "${BUILD_DIR}" -name "libStatusQ${LIB_SUFFIX}${LIB_EXT}")
MOBILEWEBVIEW_LIB=$(find "${BUILD_DIR}" -name "libMobileWebView${LIB_SUFFIX}${LIB_EXT}")
QZXING_LIB=$(find "${BUILD_DIR}" -name "libqzxing.a")
ZXING_LIB=$(find "${BUILD_DIR}" -name "libZXing${LIB_SUFFIX}${LIB_EXT}")
SCODES_LIB=$(find "${BUILD_DIR}" -name "libSCodes.a")
cp "${STATUSQ_LIB}" "${LIB_DIR}/libStatusQ${LIB_SUFFIX}${LIB_EXT}"
if [ -f "${MOBILEWEBVIEW_LIB}" ]; then
cp "${MOBILEWEBVIEW_LIB}" "${LIB_DIR}/libMobileWebView${LIB_SUFFIX}${LIB_EXT}"
fi
if [ -f "${SCODES_LIB}" ]; then
cp "${SCODES_LIB}" "${LIB_DIR}/libSCodes.a"
fi
if [ -f "${ZXING_LIB}" ]; then
cp "${ZXING_LIB}" "${LIB_DIR}/libZXing${LIB_SUFFIX}${LIB_EXT}"
fi