mirror of
https://github.com/mappu/miqt.git
synced 2025-02-23 13:00:25 +00:00
67 lines
1.8 KiB
Bash
Executable File
67 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# android-mktemplate generates a template json file suitable for use with the
|
|
# androiddeployqt tool.
|
|
|
|
set -eu
|
|
|
|
# QT_PATH is already pre-set in our docker container environment. Includes trailing slash.
|
|
QT_PATH=${QT_PATH:-/usr/local/Qt-5.15.13/}
|
|
QT_ANDROID=${QT_ANDROID:-$QT_PATH}
|
|
|
|
ndk_version() {
|
|
ls /opt/android-sdk/ndk/ | tail -n1
|
|
}
|
|
|
|
target_sdk_version() {
|
|
ls /opt/android-sdk/platforms | tail -n1 | sed -re 's/android-//'
|
|
}
|
|
|
|
build_tools_version() {
|
|
ls /opt/android-sdk/build-tools | tail -n1
|
|
}
|
|
|
|
extra_libs() {
|
|
if [[ -d /opt/android_openssl ]] ; then
|
|
# Our miqt Qt5 container includes these extra .so libraries
|
|
# However, the aqtinstall-based Qt 6 container does not use them
|
|
echo "/opt/android_openssl/ssl_1.1/arm64-v8a/libssl_1_1.so,/opt/android_openssl/ssl_1.1/arm64-v8a/libcrypto_1_1.so"
|
|
fi
|
|
}
|
|
|
|
main() {
|
|
|
|
if [[ $# -ne 2 ]] ; then
|
|
echo "Usage: android-mktemplate.sh appname output.json" >&2
|
|
exit 1
|
|
fi
|
|
local ARG_APPNAME="$1"
|
|
local ARG_DESTFILE="$2"
|
|
|
|
# Available fields are documented in the template file at
|
|
# @ref /usr/local/Qt-5.15.13/mkspecs/features/android/android_deployment_settings.prf
|
|
cat > "${ARG_DESTFILE}" <<EOF
|
|
{
|
|
"_description": "Generated by miqt/android-mktemplate",
|
|
"application-binary": "${ARG_APPNAME}",
|
|
"architectures": {
|
|
"arm64-v8a" : "aarch64-linux-android"
|
|
},
|
|
"android-extra-libs": "$(extra_libs)",
|
|
"android-min-sdk-version": "23",
|
|
"android-target-sdk-version": "$(target_sdk_version)",
|
|
"ndk": "/opt/android-sdk/ndk/$(ndk_version)",
|
|
"ndk-host": "linux-x86_64",
|
|
"qt": "${QT_ANDROID}",
|
|
"sdk": "/opt/android-sdk",
|
|
"sdkBuildToolsRevision": "$(build_tools_version)",
|
|
"stdcpp-path": "/opt/android-sdk/ndk/$(ndk_version)/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/",
|
|
"tool-prefix": "llvm",
|
|
"toolchain-prefix": "llvm",
|
|
"useLLVM": true
|
|
}
|
|
EOF
|
|
}
|
|
|
|
main "$@"
|