mirror of
https://github.com/termux/termux-packages
synced 2024-06-18 07:57:08 +00:00
55 lines
2.1 KiB
Bash
55 lines
2.1 KiB
Bash
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://cmake.org/files/v$TERMUX_CMAKE_MAJORVESION/$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
|
|
}
|