b97db63030
* This fixes the registry path What's happening is the console is writing the Forcev2 setting, then the v1 console is ignoring those settings, then when you check the checkbox to save the v2 settings, we'll write the zeros out. That's obviously bad. So we'll only write the v2 settings back to the registry if the propsheet was launched from a v2 console. This does not fix the shortcut path. That'll be the next commit. * Fix the shortcut loading too fixes #2319 * remove the redundant property I added * add some notes to the bx.ps1 change
41 lines
1.7 KiB
PowerShell
41 lines
1.7 KiB
PowerShell
# This is a helper script to figure out which target corresponds to the project
|
|
# in this directory. Parses the solution's .metaproj file looking for the
|
|
# project file in this directory, to be able to get the project's name.
|
|
|
|
$projects = Get-Childitem -Path .\ -Filter *.vcxproj -File
|
|
if ($projects.length -eq 0)
|
|
{
|
|
exit -1
|
|
}
|
|
$projectPath = $projects.FullName
|
|
|
|
|
|
# Parse the solution's metaproj file.
|
|
[xml]$Metaproj = Get-Content "$env:OPENCON\OpenConsole.sln.metaproj"
|
|
|
|
$targets = $Metaproj.Project.Target
|
|
|
|
# Most projects are in OpenConsole.sln.metaproj as "<project>.*proj.metaproj".
|
|
# We'll filter to search for these first and foremost.
|
|
$msBuildCondition = "'%(ProjectReference.Identity)' == '$projectPath.metaproj'"
|
|
|
|
# Filter to project targets that match our metaproj file.
|
|
# For Conhost\Server, this will match:
|
|
# [Conhost\Server, Conhost\Server:Clean, Conhost\Server:Rebuild, Conhost\Server:Publish]
|
|
$matchingTargets = $targets | Where-Object { $_.MSBuild.Condition -eq $msBuildCondition }
|
|
|
|
# If we didn't find a target, it's possible that the project didn't have a
|
|
# .metaproj in OpenConsole.sln.metaproj. Try filtering again, but leave off the
|
|
# .metaproj extension.
|
|
if ($matchingTargets.length -eq 0)
|
|
{
|
|
$conditionNoMeta = "'%(ProjectReference.Identity)' == '$projectPath'"
|
|
$matchingTargets = $targets | Where-Object { $_.MSBuild.Condition -eq $conditionNoMeta }
|
|
}
|
|
|
|
# Further filter to the targets that dont have a suffix (like ":Clean")
|
|
$matchingTargets = $matchingTargets | Where-Object { $hasProperty = $_.MsBuild.PSobject.Properties.name -match "Targets" ; return -Not $hasProperty }
|
|
|
|
Write-Host $matchingTargets.Name
|
|
exit 0
|