cmvr-head-client/cpp/common/curve/build_python.ps1

36 lines
1.2 KiB
PowerShell
Raw Permalink Normal View History

2026-08-05 16:42:59 +08:00
param(
[string]$PythonExecutable = "C:\Users\Administrator\miniconda3\envs\cmvr-head-client\python.exe"
)
$ErrorActionPreference = "Stop"
$repoRoot = Resolve-Path (Join-Path $PSScriptRoot "..\\..\\..")
$sourceDir = Join-Path $repoRoot "cpp\\common\\curve"
$buildDir = Join-Path $sourceDir "build"
$vsDevCmd = "C:\\Program Files\\Microsoft Visual Studio\\18\\Community\\Common7\\Tools\\VsDevCmd.bat"
if (-not (Test-Path $vsDevCmd)) {
throw "VsDevCmd.bat not found at $vsDevCmd"
}
if (-not (Test-Path $PythonExecutable)) {
throw "Python executable not found at $PythonExecutable"
}
New-Item -ItemType Directory -Force -Path $buildDir | Out-Null
$configure = "call `"$vsDevCmd`" -arch=x64 && cmake -S `"$sourceDir`" -B `"$buildDir`" -G Ninja -DCMAKE_BUILD_TYPE=Release -DPython_EXECUTABLE=`"$PythonExecutable`""
cmd /c $configure
if ($LASTEXITCODE -ne 0) {
throw "CMake configure failed."
}
$build = "call `"$vsDevCmd`" -arch=x64 && cmake --build `"$buildDir`" --config Release"
cmd /c $build
if ($LASTEXITCODE -ne 0) {
throw "CMake build failed."
}
Write-Host "Built Python module:"
Get-ChildItem $buildDir -Filter "_s_curve_native*.pyd" -Recurse | Select-Object FullName