Files
shstk/docker/android-shstk/Dockerfile
2024-12-03 13:32:24 +03:00

48 lines
2.7 KiB
Docker

ARG DOCKER_PREFIX=wapmobil/
ARG IMAGE_FROM
FROM ${DOCKER_PREFIX}${IMAGE_FROM}
ARG BRANCH=release
ARG LIBS_BUILD_NUMBER=9999
ARG JOBS_COUNT=4
ENV PATH=/opt/cmake/bin:$PATH
ENV ANDROID_HOME=/usr/lib/android-sdk
ENV ANDROID_NDK_HOME=${ANDROID_HOME}/ndk-bundle
ENV ANDROID_TOOLCHAIN=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake
ENV NDK_PLATFORM="android-21"
WORKDIR /soft
RUN git clone -b ${BRANCH} --single-branch --depth 1 --recursive https://git.shstk.ru/SHS/shstk.git
WORKDIR /soft/shstk_build_host
RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \
&& cmake --build ./ --target install -j${JOBS_COUNT} \
&& rm -rf * \
&& ldconfig
WORKDIR /soft/shstk_build_anroid
ENV _ANDROID_TOOLCHAIN=/usr/lib/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake
ENV _CUR_ABI=armeabi-v7a
RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \
&& cmake --build ./ --target install -j${JOBS_COUNT} && rm -rf *
ENV _CUR_ABI=arm64-v8a
WORKDIR /soft/shstk_build_android_${_CUR_ABI}
RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \
&& cmake --build ./ --target install -j${JOBS_COUNT} && rm -rf *
ENV _CUR_ABI=x86
WORKDIR /soft/shstk_build_android_${_CUR_ABI}
RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \
&& cmake --build ./ --target install -j${JOBS_COUNT} && rm -rf *
ENV _CUR_ABI=x86_64
WORKDIR /soft/shstk_build_android_${_CUR_ABI}
RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \
&& cmake --build ./ --target install -j${JOBS_COUNT} && rm -rf *
RUN mkdir -p /soft/shstk/release
WORKDIR /soft/src