ladybird/Toolchain/BuildVcpkg.sh
2024-09-19 14:07:16 -04:00

49 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env bash
# This script builds the vcpkg dependency management system
set -e
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# shellcheck source=/dev/null
. "${DIR}/../Meta/shell_include.sh"
# FIXME: Make the test262-runner CI use a non-root user
ci=0
if [[ "$1" == "--ci" ]]; then
echo "Running in CI mode, will not check for root user"
ci=1
shift
fi
if [ "$ci" -eq 0 ]; then
exit_if_running_as_root "Do not run BuildVcpkg.sh as root, parts of your Toolchain directory will become root-owned"
fi
GIT_REPO="https://github.com/microsoft/vcpkg.git"
GIT_REV="a39a74405f277773aba08018bb797cb4a6614d0c" # 2024.09.19
PREFIX_DIR="$DIR/Local/vcpkg"
mkdir -p "$DIR/Tarballs"
pushd "$DIR/Tarballs"
if [[ ! -d vcpkg ]]; then
git clone "${GIT_REPO}"
else
bootstrapped_vcpkg_version=$(git -C vcpkg rev-parse HEAD)
if [[ "${bootstrapped_vcpkg_version}" == "${GIT_REV}" ]]; then
exit 0
fi
fi
echo "Building vcpkg"
cd vcpkg
git fetch origin
git checkout $GIT_REV
./bootstrap-vcpkg.sh -disableMetrics
mkdir -p "$PREFIX_DIR/bin"
cp vcpkg "$PREFIX_DIR/bin"
popd