mirror of
https://github.com/KjellKod/g3log.git
synced 2024-12-12 10:23:50 +01:00
60 lines
1.8 KiB
Bash
60 lines
1.8 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
#-------------------------------------------------------------------------------------------------------------
|
||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
|
||
|
#-------------------------------------------------------------------------------------------------------------
|
||
|
#
|
||
|
# testing, unsure if it's needed. following steps from example: https://github.com/microsoft/vscode-remote-try-cpp/tree/main/.devcontainer
|
||
|
|
||
|
set -e
|
||
|
|
||
|
CMAKE_VERSION=${1:-"none"}
|
||
|
|
||
|
if [ "${CMAKE_VERSION}" = "none" ]; then
|
||
|
echo "No CMake version specified, skipping CMake reinstallation"
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
# Cleanup temporary directory and associated files when exiting the script.
|
||
|
cleanup() {
|
||
|
EXIT_CODE=$?
|
||
|
set +e
|
||
|
if [[ -n "${TMP_DIR}" ]]; then
|
||
|
echo "Executing cleanup of tmp files"
|
||
|
rm -Rf "${TMP_DIR}"
|
||
|
fi
|
||
|
exit $EXIT_CODE
|
||
|
}
|
||
|
trap cleanup EXIT
|
||
|
|
||
|
|
||
|
echo "Installing CMake..."
|
||
|
apt-get -y purge --auto-remove cmake
|
||
|
mkdir -p /opt/cmake
|
||
|
|
||
|
architecture=$(dpkg --print-architecture)
|
||
|
case "${architecture}" in
|
||
|
arm64)
|
||
|
ARCH=aarch64 ;;
|
||
|
amd64)
|
||
|
ARCH=x86_64 ;;
|
||
|
*)
|
||
|
echo "Unsupported architecture ${architecture}."
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
CMAKE_BINARY_NAME="cmake-${CMAKE_VERSION}-linux-${ARCH}.sh"
|
||
|
CMAKE_CHECKSUM_NAME="cmake-${CMAKE_VERSION}-SHA-256.txt"
|
||
|
TMP_DIR=$(mktemp -d -t cmake-XXXXXXXXXX)
|
||
|
|
||
|
echo "${TMP_DIR}"
|
||
|
cd "${TMP_DIR}"
|
||
|
|
||
|
curl -sSL "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_BINARY_NAME}" -O
|
||
|
curl -sSL "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_CHECKSUM_NAME}" -O
|
||
|
|
||
|
sha256sum -c --ignore-missing "${CMAKE_CHECKSUM_NAME}"
|
||
|
sh "${TMP_DIR}/${CMAKE_BINARY_NAME}" --prefix=/opt/cmake --skip-license
|
||
|
|
||
|
ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
|