build: add build script and task

This commit is contained in:
2026-03-20 03:59:03 -03:00
commit 58310fc967
3 changed files with 61 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
/proj/*
+16
View File
@@ -0,0 +1,16 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Create project",
"type": "shell",
"group": {
"kind": "build",
"isDefault": true
},
"windows": {
"command": "${workspaceRoot}\\create-project.ps1"
},
}
],
}
+44
View File
@@ -0,0 +1,44 @@
$projectFolder = "proj"
$slnName = "dbd-unlocker"
function Initialize-Project {
# generation
Write-Host "Generating project"
Set-Location $projectFolder
$cmakeProcess = Start-Process -FilePath cmake -ArgumentList @("..") -NoNewWindow -Wait -PassThru
Set-Location ..
if ($cmakeProcess.ExitCode -ne 0) {
Write-Host "CMake generation failed"
exit 1
}
# sln open
try {
$slnPath = "$projectFolder\$slnName.sln"
$solutionFile = Get-Item -Path $slnPath -ErrorAction Stop
$solutionFullName = $solutionFile.FullName
$vsProcesses = Get-CimInstance -Query "SELECT CommandLine FROM Win32_Process WHERE Name = 'devenv.exe'"
$pattern = [Regex]::Escape($solutionFullName)
$isOpen = $vsProcesses | Where-Object { $_.CommandLine -match $pattern }
if (-not $isOpen) {
Write-Host "Starting Visual Studio..." -ForegroundColor Cyan
Start-Process -FilePath $solutionFullName
}
else {
Write-Host "Solution '$($solutionFile.Name)' is already open." -ForegroundColor Yellow
}
}
catch {
Write-Error "Failed to open solution: $($_.Exception.Message)"
}
}
if (-not (Test-Path $projectFolder)) {
New-Item -ItemType Directory -Path $projectFolder | Out-Null
}
Initialize-Project