Subversion Repositories tpanel

Rev

Rev 354 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 354 Rev 355
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
#
2
#
3
# Set the following paths according to your installation.
3
# Set the following paths according to your installation.
4
#
4
#
-
 
5
export QT_VERSION="6.5.2"
-
 
6
export QT_VERSION_MAJOR=6
5
export QTDIR="/opt/Qt/6.5.2"
7
export QTBASE="/opt/Qt/$QT_VERSION"
-
 
8
export QTDIR="${QTBASE}/android_x86_64"
6
export ANDROID_HOME="$HOME/Android/Sdk"
9
export ANDROID_HOME="$HOME/Android/Sdk"
7
export ANDROID_NDK_HOST="linux-x86_64"
10
export ANDROID_NDK_HOST="linux-x86_64"
8
export ANDROID_NDK_PLATFORM="30"
11
export ANDROID_NDK_PLATFORM="30"
9
export ANDROID_NDK_ROOT="${ANDROID_HOME}/ndk/25.2.9519653"
12
export ANDROID_NDK_ROOT="${ANDROID_HOME}/ndk/25.2.9519653"
10
export ANDROID_NDK_HOME="${ANDROID_NDK_ROOT}"
13
export ANDROID_NDK_HOME="${ANDROID_NDK_ROOT}"
11
export ANDROID_SDK_ROOT="${ANDROID_HOME}"
14
export ANDROID_SDK_ROOT="${ANDROID_HOME}"
12
export ANDROID_API_VERSION="android-30"
15
export ANDROID_PLATFORM="android-$ANDROID_NDK_PLATFORM"
13
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
16
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
-
 
17
 
14
export PATH="${QTDIR}/android_x86_64/bin:${QTDIR}/android_x86/bin:${QTDIR}/android_arm64_v8a/bin:${QTDIR}/android_armv7/bin:$PATH"
18
export PATH="${QTDIR}/bin:${QTDIR}/../android_x86/bin:${QTDIR}/../android_arm64_v8a/bin:${QTDIR}/../android_armv7/bin:$PATH"
-
 
19
export OPENSSLDIR="$HOME/Android/openssl/ssl_3"
-
 
20
 
-
 
21
ANDROID_TOOLCHAIN="${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake"
-
 
22
ANDROID_API_VERSION="android-$ANDROID_NDK_PLATFORM"
15
 
23
 
16
KEYSTORE="$HOME/projects/tpanel/android/android_release.keystore"
24
KEYSTORE="$HOME/projects/tpanel/android/android_release.keystore"
17
KEYALIAS="tpanel"
25
KEYALIAS="tpanel"
-
 
26
PASSFILE="$HOME/.keypass"
18
LOGFILE="`pwd`/build.log"
27
LOGFILE="`pwd`/build.log"
19
BUILDDIR="tpanel-6-build"
28
BUILDDIR="tpanel-6-build"
-
 
29
BUILDTYPE="Release"
20
 
30
 
21
_EXT_LIB_PATH="/home/andreas/Android/distribution"
31
export EXT_LIB_PATH="/home/andreas/Android/distribution"
22
_EXTRA_PATH="/home/andreas/Android/extras"
32
export EXTRA_PATH="/home/andreas/Android/extras"
23
_SSL_PATH="/home/andreas/Android/openssl"
33
export SSL_PATH="/home/andreas/Android/openssl"
24
_ANDROID_ABIS="arm64-v8a armeabi-v7a x86_64 x86"
34
export ANDROID_ABIS="arm64-v8a armeabi-v7a x86_64 x86"
25
 
35
 
26
# This programs must be taken from the Qt framework and the Android SDK
36
# This programs must be taken from the Qt framework and the Android SDK
27
QMAKE="$QTDIR/android_x86/bin/qmake6"
37
QMAKE="$QTDIR/bin/qmake6"
-
 
38
QTCMAKE="$QTDIR/bin/qt-cmake"
-
 
39
CMAKE="/opt/Qt/Tools/CMake/bin/cmake"
-
 
40
GREP="/usr/bin/grep"
-
 
41
SED="/usr/bin/sed"
-
 
42
NINJA="${ANDROID_HOME}/cmake/3.22.1/bin/ninja"
28
MAKE="$ANDROID_NDK_ROOT/prebuilt/linux-x86_64/bin/make"
43
MAKE="$ANDROID_NDK_ROOT/prebuilt/linux-x86_64/bin/make"
29
ANDROIDDEPLOYQT="$QTDIR/gcc_64/bin/androiddeployqt"
44
ANDROIDDEPLOYQT="$QTDIR/../gcc_64/bin/androiddeployqt"
30
 
45
 
31
#------------------------------------------------------------------------------
46
#------------------------------------------------------------------------------
32
# DO NOT CHANGE ANYTHING BEYOND THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING!!
47
# DO NOT CHANGE ANYTHING BEYOND THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING!!
33
#------------------------------------------------------------------------------
48
#------------------------------------------------------------------------------
-
 
49
 
-
 
50
#export QT_ANDROID_BUILD_ALL_ABIS="ON"
-
 
51
 
34
#
52
#
35
# The following statement determines the number of CPUs. This is used for the
53
# The following statement determines the number of CPUs. This is used for the
36
# make command to let run the compiler in parallel.
54
# make command to let run the compiler in parallel.
37
#
55
#
38
CPUS=`lscpu | egrep '^CPU\(s\)' | cut -c30-34`
56
CPUS=`lscpu | egrep '^CPU\(s\)' | cut -c30-34`
Line 102... Line 120...
102
then
120
then
103
    log "Starting a clean build by deleting a maybe existing old build ..."
121
    log "Starting a clean build by deleting a maybe existing old build ..."
104
    rm -rf "$BUILDDIR"
122
    rm -rf "$BUILDDIR"
105
fi
123
fi
106
 
124
 
107
if [ ! -d "$BUILDDIR" ] || [ ! -f "$BUILDDIR/Makefile" ]
125
if [ ! -d "$BUILDDIR" ] || [ ! -f "$BUILDDIR/build.ninja" ]
108
then
126
then
109
    if [ ! -d "$BUILDDIR" ]
127
    if [ ! -d "$BUILDDIR" ]
110
    then
128
    then
111
        log "Crating new build directory \"$BUILDDIR\" ..."
129
        log "Crating new build directory \"$BUILDDIR\" ..."
112
        mkdir "$BUILDDIR" > /dev/null 2>&1
130
        mkdir "$BUILDDIR" > /dev/null 2>&1
Line 124... Line 142...
124
 
142
 
125
    _dbg=""
143
    _dbg=""
126
 
144
 
127
    if [ $OPT_DEBUG -eq 1 ]
145
    if [ $OPT_DEBUG -eq 1 ]
128
    then
146
    then
129
        _dbg="CONFIG+=qml_debug debug debug_info"
147
        _dbg="-DQT_QML_DEBUG:STRING"
130
    fi
148
    fi
131
 
149
 
-
 
150
#     ${QTCMAKE} -DCMAKE_BUILD_TYPE:STRING="$BUILDTYPE" \
-
 
151
#              -DANDROID_PLATFORM:STRING="$ANDROID_NDK_PLATFORM" \
-
 
152
#              -DANDROID_SDK_ROOT:PATH="${ANDROID_HOME}" \
-
 
153
#              -DANDROID_NDK:PATH="${ANDROID_NDK_ROOT}" \
-
 
154
#              -DCMAKE_GENERATOR:STRING="Ninja" \
-
 
155
#              -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${ANDROID_TOOLCHAIN}" \
-
 
156
#              -DANDROID_USE_LEGACY_TOOLCHAIN_FILE:BOOL="OFF" \
-
 
157
#              -DANDROID_STL:STRING="c++_shared" \
-
 
158
#              -DQT_NO_GLOBAL_APK_TARGET_PART_OF_ALL:BOOL="ON" \
-
 
159
#              -DCMAKE_SYSTEM_VERSION:STATIC=$ANDROID_NDK_PLATFORM \
-
 
160
#              -DANDROID_NATIVE_API_LEVEL:STRING="$ANDROID_API_VERSION" \
-
 
161
#              -DQT_ANDROID_ABIS:STRING="arm64-v8a;armeabi-v7a;x86_64;x86" \
-
 
162
#              .. 2>&1 | tee -a ${LOGFILE}
-
 
163
 
132
    ${QMAKE} -spec android-clang CONFIG+=qtquickcompiler "${_dbg}" QT_ANDROID_BUILD_ALL_ABIS=ON QT_PATH_ANDROID_ABI_armeabi-v7a="$QTDIR/android_armv7" QT_PATH_ANDROID_ABI_arm64-v8a="$QTDIR/android_arm64_v8a" QT_PATH_ANDROID_ABI_x86="$QTDIR/android_x86" QT_PATH_ANDROID_ABI_x86_64="$QTDIR/android_x86_64" SDK_PATH="${ANDROID_SDK_ROOT}" EXT_LIB_PATH="${_EXT_LIB_PATH}" EXTRA_PATH="${_EXTRA_PATH}" SSL_PATH="${_SSL_PATH}" ANDROID_ABIS="${_ANDROID_ABIS}" ../tpanel.pro 2>&1 | tee -a ${LOGFILE}
164
     ${CMAKE} -DCMAKE_GENERATOR:STRING="Ninja" \
-
 
165
              -DCMAKE_BUILD_TYPE:STRING="$BUILDTYPE" \
-
 
166
              -DANDROID_PLATFORM:STRING="$ANDROID_API_VERSION" \
-
 
167
              -DANDROID_NDK:PATH="${ANDROID_NDK_ROOT}" \
-
 
168
              -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${ANDROID_TOOLCHAIN}" \
-
 
169
              -DANDROID_USE_LEGACY_TOOLCHAIN_FILE:BOOL="OFF" \
-
 
170
              -DANDROID_STL:STRING="c++_shared" \
-
 
171
              -DQT_NO_GLOBAL_APK_TARGET_PART_OF_ALL:BOOL="ON" \
-
 
172
              -DANDROID_SDK_ROOT:PATH="${ANDROID_HOME}" \
-
 
173
              -DCMAKE_SYSTEM_VERSION:STRING="$ANDROID_NDK_PLATFORM" \
-
 
174
              ${_dbg} .. 2>&1 | tee -a ${LOGFILE}
133
 
175
 
134
    if [ $? -ne 0 ]
176
    if [ $? -ne 0 ]
135
    then
177
    then
136
        log "Error creating a Makefile!"
178
        log "Error creating a Makefile!"
137
        exit 1
179
        exit 1
138
    fi
180
    fi
-
 
181
 
-
 
182
#    log "Correcting the platform level to $ANDROID_NDK_PLATFORM ..."
-
 
183
#ls -l android_abi_builds/* >> ${LOGFILE}
-
 
184
#    for cc in `${GREP} -R -l 'ANDROID_PLATFORM:STRING=' android_abi_builds/*`
-
 
185
#    do
-
 
186
#        log "Correcting file: $cc"
-
 
187
#        ${SED} -i -r "s/android-[0-9][0-9]/android-$ANDROID_NDK_PLATFORM/g" $cc 2>&1 | tee -a ${LOGFILE}
-
 
188
#    done
139
else
189
else
140
    log "Changing into build directory \"$BUILDDIR\" ..."
190
    log "Changing into build directory \"$BUILDDIR\" ..."
141
    cd "$BUILDDIR"
191
    cd "$BUILDDIR"
142
fi
192
fi
143
 
193
 
144
log "Compiling the source ..."
194
log "Compiling the source ..."
-
 
195
cp ../CMakeUserPresets.json .
145
${MAKE} -j ${CPUS} apk_install_target 2>&1 | tee -a ${LOGFILE}
196
${CMAKE} --build --preset "Android" 2>&1 | tee -a ${LOGFILE}
-
 
197
 
-
 
198
#${CMAKE} --build . 2>&1 | tee -a ${LOGFILE}
146
 
199
 
147
if [ $? -ne 0 ]
200
if [ $? -ne 0 ]
148
then
201
then
149
    log "Error compiling the code!"
202
    log "Error compiling the code!"
150
    exit 1
203
    exit 1
151
fi
204
fi
152
 
205
exit 0
153
log "Creating an Android binary (apk) file ..."
206
log "Creating an Android binary (apk) file ..."
154
 
207
 
155
_install=""
208
_install=""
156
_pass=""
209
_pass=""
157
 
210