A little app to simulate every possible move in Connect Four.
at main 1.8 kB view raw
1#!/usr/bin/env bash 2#------------------------------------------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 5#------------------------------------------------------------------------------------------------------------- 6# 7set -e 8 9CMAKE_VERSION=${1:-"none"} 10 11if [ "${CMAKE_VERSION}" = "none" ]; then 12 echo "No CMake version specified, skipping CMake reinstallation" 13 exit 0 14fi 15 16# Cleanup temporary directory and associated files when exiting the script. 17cleanup() { 18 EXIT_CODE=$? 19 set +e 20 if [[ -n "${TMP_DIR}" ]]; then 21 echo "Executing cleanup of tmp files" 22 rm -Rf "${TMP_DIR}" 23 fi 24 exit $EXIT_CODE 25} 26trap cleanup EXIT 27 28 29echo "Installing CMake..." 30apt-get -y purge --auto-remove cmake 31mkdir -p /opt/cmake 32 33architecture=$(dpkg --print-architecture) 34case "${architecture}" in 35 arm64) 36 ARCH=aarch64 ;; 37 amd64) 38 ARCH=x86_64 ;; 39 *) 40 echo "Unsupported architecture ${architecture}." 41 exit 1 42 ;; 43esac 44 45CMAKE_BINARY_NAME="cmake-${CMAKE_VERSION}-linux-${ARCH}.sh" 46CMAKE_CHECKSUM_NAME="cmake-${CMAKE_VERSION}-SHA-256.txt" 47TMP_DIR=$(mktemp -d -t cmake-XXXXXXXXXX) 48 49echo "${TMP_DIR}" 50cd "${TMP_DIR}" 51 52curl -sSL "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_BINARY_NAME}" -O 53curl -sSL "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_CHECKSUM_NAME}" -O 54 55sha256sum -c --ignore-missing "${CMAKE_CHECKSUM_NAME}" 56sh "${TMP_DIR}/${CMAKE_BINARY_NAME}" --prefix=/opt/cmake --skip-license 57 58ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake 59ln -s /opt/cmake/bin/ctest /usr/local/bin/ctest