Fixing bug in pwrshplugin config file reader and wrapping mc.exe calls in vcvarsall.bat.

This commit is contained in:
Mike Richmond
2016-07-22 15:04:46 -07:00
parent 5cec5f1b04
commit 156418ceab
2 changed files with 8 additions and 4 deletions
+5 -1
View File
@@ -262,7 +262,11 @@ function Start-PSBuild {
@("nativemsh/pwrshplugin") | % {
$nativeResourcesFolder = $_
Get-ChildItem $nativeResourcesFolder -Filter "*.mc" | % {
Start-NativeExecution { & $mcexe -o -d -c -U $_.FullName -h "$nativeResourcesFolder" -r "$nativeResourcesFolder" }
$command = @"
cmd.exe /C cd /d "(Get-Location)" "&" "$($vcVarsPath)\vcvarsall.bat" "$NativeHostArch" "&" "$mcexe" -o -d -c -U $($_.FullName) -h "$nativeResourcesFolder" -r "$nativeResourcesFolder"
"@
log " Executing mc.exe Command: $command"
Start-NativeExecution { Invoke-Expression -Command:$command }
}
}
@@ -33,8 +33,6 @@ namespace NativeMsh
std::wstring coreClrDirTag(L"CORECLRDIR=");
while (std::getline(psConfigFile, line))
{
;
// Search for the first actionable character in the line to
// limit the number of passes that are made iterating through the line.
for(std::wstring::const_iterator iter = line.begin(); iter != line.end(); iter++)
@@ -42,7 +40,7 @@ namespace NativeMsh
if (*iter == L'#')
{
// Stop parsing the line because the rest of it is a comment
continue;
break;
}
else if (*iter == L'p' || *iter == L'P')
{
@@ -57,6 +55,7 @@ namespace NativeMsh
this->pathToPowerShellAssemblies.append(L"\\");
}
}
break;
}
else if (*iter == L'c' || *iter == L'C')
{
@@ -71,6 +70,7 @@ namespace NativeMsh
this->coreClrDirectory.append(L"\\");
}
}
break;
}
// Else: Do nothing to ignore unmatched characters (whitespace, etc.)
}