Import android-cmake from AUR

* For future adjustments to ease building and using Qt 6
This commit is contained in:
Martchus 2021-01-05 01:22:16 +01:00
parent 81eeb1f442
commit 32dfff233f
3 changed files with 84 additions and 0 deletions

42
cmake/android/PKGBUILD Normal file
View File

@ -0,0 +1,42 @@
# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com>
pkgname=android-cmake
pkgver=1
pkgrel=1
arch=('any')
pkgdesc="CMake wrapper for Android (android)"
depends=('cmake' 'android-environment' 'android-pkg-config')
license=("custom")
url="https://cmake.org/"
source=("android-cmake.sh"
"android-cmake-py.sh")
sha256sums=('SKIP'
'SKIP')
_architectures="aarch64 armv7a-eabi x86 x86-64"
_python_versions="27 35 36 37"
build() {
for _arch in ${_architectures}; do
source android-env ${_arch}
processor=$(basename ${ANDROID_CC})
processor="${processor%%-*}"
sed "s|@TRIPLE@|${_arch}|g" android-cmake.sh > android-${_arch}-cmake
for _pyver in ${_python_versions}; do
sed "s|@TRIPLE@|${_arch}|g;s|@PYMAJMIN@|${_pyver}|g" android-cmake-py.sh > android-${_arch}-cmake-py${_pyver}
done
done
}
package() {
install -d "${pkgdir}"/usr/bin
for _arch in ${_architectures}; do
source android-env ${_arch}
install -m 755 android-${_arch}-cmake "${pkgdir}"/usr/bin/
for _pyver in ${_python_versions}; do
install -m 755 android-${_arch}-cmake-py${_pyver} "${pkgdir}"/usr/bin/
done
done
}

View File

@ -0,0 +1,9 @@
#!/bin/sh
source android-env @TRIPLE@
android-@TRIPLE@-cmake \
-DPYTHON_INCLUDE_DIR=${ANDROID_PREFIX_INCLUDE}/python@PYMAJMIN@ \
-DPYTHON_LIBRARY=${ANDROID_PREFIX_LIB}/libpython@PYMAJMIN@.a \
-DPYTHON_EXECUTABLE=/usr/bin/android-@TRIPLE@-python@PYMAJMIN@-bin \
"$@"

View File

@ -0,0 +1,33 @@
#!/bin/sh
source android-env @TRIPLE@
default_android_pp_flags="-D_FORTIFY_SOURCE=2"
default_android_compiler_flags="$default_android_pp_flags -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4"
default_android_linker_flags="-Wl,-O1,--sort-common,--as-needed"
export CPPFLAGS="${ANDROID_CPPFLAGS:-$default_android_pp_flags $CPPFLAGS}"
export CFLAGS="${ANDROID_CFLAGS:-$default_android_compiler_flags $CFLAGS}"
export CXXFLAGS="${ANDROID_CXXFLAGS:-$default_android_compiler_flags $CXXFLAGS}"
export LDFLAGS="${ANDROID_LDFLAGS:-$default_android_linker_flags $LDFLAGS}"
PATH=${ANDROID_PREFIX_BIN}:$PATH cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${ANDROID_PREFIX} \
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
-DINCLUDE_INSTALL_DIR:PATH=${ANDROID_PREFIX_INCLUDE} \
-DLIB_INSTALL_DIR:PATH=${ANDROID_PREFIX_LIB} \
-DSYSCONF_INSTALL_DIR:PATH=${ANDROID_PREFIX_ETC} \
-DSHARE_INSTALL_DIR:PATH=${ANDROID_PREFIX_SHARE} \
-DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${ANDROID_PREFIX_INCLUDE} \
-DCMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${ANDROID_PREFIX_INCLUDE} \
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_ABI=${ANDROID_ABI} \
-DANDROID_NDK=${ANDROID_NDK_HOME} \
-DANDROID_NATIVE_API_LEVEL=${ANDROID_MINIMUM_PLATFORM} \
-DANDROID_TOOLCHAIN=clang \
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \
"$@"