termux_setup_cmake() { local TERMUX_CMAKE_MAJORVESION=3.27 local TERMUX_CMAKE_MINORVERSION=5 local TERMUX_CMAKE_VERSION=$TERMUX_CMAKE_MAJORVESION.$TERMUX_CMAKE_MINORVERSION local TERMUX_CMAKE_TARNAME=cmake-${TERMUX_CMAKE_VERSION}-linux-x86_64.tar.gz local TERMUX_CMAKE_TARFILE=$TERMUX_PKG_TMPDIR/$TERMUX_CMAKE_TARNAME local TERMUX_CMAKE_FOLDER if [ "$TERMUX_PACKAGE_LIBRARY" = "bionic" ]; then local TERMUX_CMAKE_NAME="cmake" elif [ "$TERMUX_PACKAGE_LIBRARY" = "glibc" ]; then local TERMUX_CMAKE_NAME="cmake-glibc" fi if [ "${TERMUX_PACKAGES_OFFLINE-false}" = "true" ]; then TERMUX_CMAKE_FOLDER=$TERMUX_SCRIPTDIR/build-tools/cmake-$TERMUX_CMAKE_VERSION else TERMUX_CMAKE_FOLDER=$TERMUX_COMMON_CACHEDIR/cmake-$TERMUX_CMAKE_VERSION fi if [ "$TERMUX_ON_DEVICE_BUILD" = "false" ]; then if [ ! -d "$TERMUX_CMAKE_FOLDER" ]; then termux_download https://github.com/Kitware/CMake/releases/download/v${TERMUX_CMAKE_VERSION}/$TERMUX_CMAKE_TARNAME \ "$TERMUX_CMAKE_TARFILE" \ 138c68addae825b16ed78d792dafef5e0960194833f48bd77e7e0429c6bc081c rm -Rf "$TERMUX_PKG_TMPDIR/cmake-${TERMUX_CMAKE_VERSION}-linux-x86_64" tar xf "$TERMUX_CMAKE_TARFILE" -C "$TERMUX_PKG_TMPDIR" shopt -s nullglob local f for f in "$TERMUX_SCRIPTDIR"/scripts/build/setup/cmake-*.patch; do echo "[${FUNCNAME[0]}]: Applying $(basename "$f")" patch --silent -p1 -d "$TERMUX_PKG_TMPDIR/cmake-${TERMUX_CMAKE_VERSION}-linux-x86_64" < "$f" done shopt -u nullglob mv "$TERMUX_PKG_TMPDIR/cmake-${TERMUX_CMAKE_VERSION}-linux-x86_64" \ "$TERMUX_CMAKE_FOLDER" fi export PATH=$TERMUX_CMAKE_FOLDER/bin:$PATH else if [[ "$TERMUX_APP_PACKAGE_MANAGER" = "apt" && "$(dpkg-query -W -f '${db:Status-Status}\n' $TERMUX_CMAKE_NAME 2>/dev/null)" != "installed" ]] || [[ "$TERMUX_APP_PACKAGE_MANAGER" = "pacman" && ! "$(pacman -Q $TERMUX_CMAKE_NAME 2>/dev/null)" ]]; then echo "Package '$TERMUX_CMAKE_NAME' is not installed." echo "You can install it with" echo echo " pkg install $TERMUX_CMAKE_NAME" echo echo " pacman -S $TERMUX_CMAKE_NAME" echo exit 1 fi fi export CMAKE_INSTALL_ALWAYS=1 }