Files
pay/android/docker/scripts/buildQt.sh
tomFlowee b48bfea02c Use thumbler for date pickers
Since the whole thing with Android going full screen with margins, the
combobox popup idea started showing a big flaw; Qt no longer clips the
window on top to the content area and thus your top and bottom item may
become impossible to select.

This replaces the combobox with a new component; a thumbler. Based on
the extremely basic one from QQComponents we introduce our own and use
that to select the year and month in the import screen.
2025-11-16 12:35:01 +01:00

130 lines
3.5 KiB
Bash
Executable File

#!/bin/bash
TAG=$1
if test -z "$TAG"; then
echo "Missing required argument 'TAG'"
exit
fi
echo "Based on Qt version $TAG" >> /etc/versions
source /etc/profile
export NINJA_STATUS='[%u/%r/%f] '
function checkout (
repo=$1
(cd /usr/local/cache
if ! test -d $repo.git; then
git clone --bare https://code.qt.io/qt/$repo.git
fi)
(cd ~builduser
if git clone -l /usr/local/cache/$repo.git -b $TAG
then
echo ".. OK"
else
echo "Calling exit"
exit 1
fi)
)
# The QtBase builds are different.
QTBASE_FLAGS="-no-widgets \
-no-dbus \
-no-feature-testlib \
-no-feature-sql \
-no-feature-xml \
-no-feature-networkproxy \
-no-feature-socks5 \
-no-feature-brotli \
-no-feature-dnslookup \
-no-feature-topleveldomain \
-no-feature-textmarkdownreader \
-no-feature-textmarkdownwriter \
-no-feature-textodfwriter"
# on qtbase flags:
# I checked and noticed that colornames are required (qml fails to load otherwise)
# the cssparser is also required for properly loading svgs.
checkout qtbase
cd ~builduser
patch -d qtbase -p1 < /usr/local/bin/qtbase-revert-qtranslator.patch
mkdir -p ~builduser/build/qtbase
cd ~builduser/build/qtbase
~builduser/qtbase/configure \
-prefix /usr/local \
-no-openssl \
-nomake examples \
$QTBASE_FLAGS
cmake --build . --parallel
cmake --install .
rm -rf ~builduser/build/*
### Android build
mkdir -p ~builduser/build/qtbase
cd ~builduser/build/qtbase
~builduser/qtbase/configure \
-platform android-clang \
-prefix /opt/android-qt6/ \
-android-ndk /opt/android-ndk \
-android-sdk /opt/android-sdk \
-qt-host-path /usr/local \
-android-abis arm64-v8a \
-android-style-assets \
-openssl-linked \
$QTBASE_FLAGS \
-- \
-DOPENSSL_USE_STATIC_LIBS=ON \
-DOPENSSL_ROOT_DIR=/opt/android-ssl
cmake --build . --parallel
cmake --install .
rm -rf ~builduser/build/*
rm -rf ~builduser/qtbase
# All the others.
for i in qtshadertools qtdeclarative qtsvg qtmultimedia
do
checkout $i
mkdir -p ~builduser/build/$i
cd ~builduser/build/$i
CONF=""
if test "$i" = "qtdeclarative"; then
CONF=" \
-no-feature-quick-tableview \
-no-feature-quick-treeview \
-no-feature-qml-xmllistmodel \
-no-feature-quick-designer \
-no-feature-qml-network \
-no-feature-qml-preview \
-no-feature-qml-worker-script \
-no-feature-quick-animatedimage \
-no-feature-quicktemplates2-calendar \
-no-feature-quickcontrols2-ios \
-no-feature-quickcontrols2-macos \
-no-feature-quickcontrols2-windows \
-no-feature-quickcontrols2-fluentwinui3 \
-no-feature-quickcontrols2-universal \
-no-feature-quickcontrols2-imagine \
-no-feature-quickcontrols2-fusion \
-no-feature-qml-debug \
-no-feature-qml-profiler \
-no-feature-qml-ssl \
-no-feature-qml-xml-http-request \
-no-feature-quick-pixmap-cache-threaded-download \
-no-feature-qml-table-model \
"
fi
/usr/local/bin/qt-configure-module ~builduser/$i $CONF
cmake --build . --parallel
cmake --install .
cd ~builduser
rm -rf build/*
# Android
mkdir -p ~builduser/build/$i
cd ~builduser/build/$i
/opt/android-qt6/bin/qt-configure-module ~builduser/$i $CONF
cmake --build . --parallel && cmake --install .
cd ~builduser
rm -rf build/*
rm -rf $i
done