File: setup_cmake.ps1

package info (click to toggle)
opentelemetry-cpp 1.23.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,372 kB
  • sloc: cpp: 96,239; sh: 1,766; makefile: 36; python: 31
file content (48 lines) | stat: -rw-r--r-- 1,587 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 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
}