Files
build_toochain/install_script/boost/install_boost.ps1
T
2026-07-07 15:23:39 +08:00

72 lines
1.9 KiB
PowerShell

$PSConsoleOutputEncoding
$OutputEncoding = [System.Text.Encoding]::UTF8
$PSConsoleOutputEncoding = [System.Text.Encoding]::UTF8
#!/usr/bin/env pwsh
# 设置环境变量
$env:LANG = "en_US.UTF-8"
$env:LC_ALL = "en_US.UTF-8"
$BOOST_SOURCE_DIR = $args[0]
$BOOST_BUILD_DIR = $args[1]
$BOOST_INSTALL_DIR = $args[2]
$version=$args[3]
$other_option=$args[4]
$formattedVersion = $version -replace "\.", "_"
# $version = "1.83.0"
$BOOST_URL = "https://archives.boost.io/release/$version/source/boost_$formattedVersion.tar.gz"
$proxy_URL = "http://127.0.0.1:9081"
$name = "boost_$formattedVersion"
# 设置代理
$env:http_proxy = $proxy_URL
$env:https_proxy = $proxy_URL
$env:ftp_proxy = $proxy_URL
echo "BOOST_SOURCE_DIR $BOOST_SOURCE_DIR"
echo "BOOST_BUILD_DIR $BOOST_BUILD_DIR"
echo "BOOST_INSTALL_DIR $BOOST_INSTALL_DIR"
echo "version $version"
echo "other_option $other_option"
if (-not (Test-Path $BOOST_INSTALL_DIR)) {
if (-not (Test-Path $BOOST_BUILD_DIR)) {
mkdir -p $BOOST_BUILD_DIR
}
if (-not (Test-Path $BOOST_SOURCE_DIR)) {
mkdir -p $BOOST_SOURCE_DIR
}
Set-Location -Path $BOOST_SOURCE_DIR
# 下载Boost源码包
if (-not (Test-Path "$BOOST_SOURCE_DIR\boost.tar.gz")) {
Invoke-WebRequest -Uri $BOOST_URL -OutFile "$BOOST_SOURCE_DIR\boost.tar.gz"
}
# 解压Boost源码包
if (-not (Test-Path "$BOOST_SOURCE_DIR\$name")) {
echo "tar..."
tar -xzf "$BOOST_SOURCE_DIR\boost.tar.gz" -C "$BOOST_SOURCE_DIR"
}
Set-Location -Path "$BOOST_SOURCE_DIR\$name"
$bootstrap_cmd = "./bootstrap.bat --prefix=`"$BOOST_INSTALL_DIR`""
echo "Invoke-Expression bootstrap_cmd: $bootstrap_cmd"
Invoke-Expression $bootstrap_cmd
$b2_cmd = "./b2 $other_option --build-dir=`"$BOOST_BUILD_DIR`" --prefix=`"$BOOST_INSTALL_DIR`" install"
echo "Invoke-Expression b2_cmd: $b2_cmd"
Invoke-Expression $b2_cmd
} else {
echo "intall dir already exisit skip all!"
exit 0
}
exit 0