ZeroTierOne/ext/opentelemetry-cpp-1.21.0/ci/setup_cmake.ps1
2025-07-11 10:37:21 -07:00

48 lines
1.5 KiB
PowerShell

# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0
$ErrorActionPreference = "Stop"
trap { $host.SetShouldExit(1) }
if (-not $env:CMAKE_VERSION) { $env:CMAKE_VERSION = "3.31.6" }
$CMAKE_VERSION = $env:CMAKE_VERSION
choco uninstall cmake cmake.install -y --remove-dependencies --skip-autouninstaller --force --no-progress
Write-Host "Installing CMake version $CMAKE_VERSION ..."
choco install cmake --version=$CMAKE_VERSION --allow-downgrade -y --force --no-progress
function Get-Version {
param (
[string]$output
)
if ($output -match '(\d+\.\d+\.\d+)') {
return $matches[1]
}
return $null
}
$cmakeOutput = & cmake --version | Select-Object -First 1
$ctestOutput = & ctest --version | Select-Object -First 1
$cpackOutput = & cpack --version | Select-Object -First 1
$cmakeVersion = Get-Version $cmakeOutput
$ctestVersion = Get-Version $ctestOutput
$cpackVersion = Get-Version $cpackOutput
Write-Host "cmake version $cmakeVersion detected"
Write-Host "ctest version $ctestVersion detected"
Write-Host "cpack version $cpackVersion detected"
if ($cmakeVersion -ne $CMAKE_VERSION) {
Write-Error "CMake version mismatch: expected $CMAKE_VERSION, installed $cmakeVersion"
exit 1
}
if ($ctestVersion -ne $CMAKE_VERSION) {
Write-Error "CTest version mismatch: expected $CMAKE_VERSION, installed $ctestVersion"
exit 1
}
if ($cpackVersion -ne $CMAKE_VERSION) {
Write-Error "CPack version mismatch: expected $CMAKE_VERSION, installed $cpackVersion"
exit 1
}