Skip to content

Commit

Permalink
Merge pull request #117 from ModOrganizer2/dev/better-bootstrap
Browse files Browse the repository at this point in the history
Use cmake to generate solution and msbuild to build.
  • Loading branch information
Holt59 authored Sep 6, 2023
2 parents 9aec5a7 + 886dadf commit 5f7c5eb
Showing 1 changed file with 36 additions and 6 deletions.
42 changes: 36 additions & 6 deletions bootstrap.ps1
Original file line number Diff line number Diff line change
@@ -1,14 +1,44 @@
param([switch]$Verbose)

$root = $PSScriptRoot
if (!$root) {
$root = "."
}

cmake -B $root/build $root | Out-Null
cmake --build $root/build --config Release -- `
"-p:UseMultiToolTask=true" `
"-noLogo" `
"-p:EnforceProcessCountAcrossBuilds=true" `
"-clp:ErrorsOnly;Verbosity=minimal"
$output = if ($Verbose) { "Out-Default" } else { "Out-Null" }

cmake -B $root/build $root | & $output

$installationPath = & $root\third-party\bin\vswhere.exe -products * -nologo -prerelease -latest -property installationPath
if (! $?) {
Write-Error "vswhere returned $LastExitCode"
exit $LastExitCode
}

if (! $installationPath) {
Write-Error "Empty installation path"
exit 1
}

$opts = ""
$opts += " $root\build\mob.sln"
$opts += " -m"
$opts += " -p:Configuration=Release"
$opts += " -noLogo"
$opts += " -p:UseMultiToolTask=true"
$opts += " -p:EnforceProcessCountAcrossBuilds=true"

if (!$Verbose) {
$opts += " -clp:ErrorsOnly;Verbosity=minimal"
}

$vsDevCmd = "$installationPath\Common7\Tools\VsDevCmd.bat"
if (!(Test-Path "$vsDevCmd")) {
Write-Error "VdDevCmd.bat not found at $vsDevCmd"
exit 1
}

& "${env:COMSPEC}" /c "`"$vsDevCmd`" -no_logo -arch=amd64 -host_arch=amd64 && msbuild $opts"

if (! $?) {
Write-Error "Build failed"
Expand Down

0 comments on commit 5f7c5eb

Please sign in to comment.