36 lines
1.2 KiB
PowerShell
36 lines
1.2 KiB
PowerShell
|
|
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
|