Files
sacred2_k/build.ps1
T
khallaandClaude Opus 5.5 8a7bdfd99f Framework for Sacred 2 Gold, game log mirror, borderless fullscreen
Ported from sacredK with module-relative addresses, hooks by exported
name and a SHA-256 check of the six game modules (Community Patch
2.65.1). Borderless windowed at monitor size replaces exclusive
fullscreen, whose focus loss during loading made the game quit and
crash on exit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 01:39:44 +01:00

22 lines
1.3 KiB
PowerShell

# Configure + build from any shell: enters the x86 MSVC environment first.
# .\build.ps1 # x86-debug
# .\build.ps1 x86-release
param([string]$Preset = "x86-debug")
$ErrorActionPreference = "Stop"
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
$vs = & $vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath
if (-not $vs) { throw "MSVC x86 tools not found (install VS Build Tools with 'Desktop development with C++')." }
$vcvars = Join-Path $vs "VC\Auxiliary\Build\vcvarsall.bat"
# vcvarsall itself calls vswhere and expects it on PATH.
$env:PATH = "$(Split-Path $vswhere);$env:PATH"
# Configure only once: the build re-runs CMake itself when needed, and
# re-configuring here would clash with VS Code's CMake Tools, which caches
# the full path of cl.exe instead of the preset's plain "cl".
$configure = if (Test-Path "build\$Preset\CMakeCache.txt") { "" } else { "cmake --preset $Preset && " }
# 2>&1 inside cmd: Windows PowerShell turns any native stderr line (e.g. CMake's
# download progress) into a terminating error under ErrorActionPreference=Stop.
cmd /c "`"$vcvars`" x86 >nul && $configure cmake --build --preset $Preset 2>&1"
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }