Browse Source

Fixed C++ binding crash when VS08 is not installed.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3251 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
3b9d810c2c
  1. 4
      samples/CppBackendBinding/CppBackendBinding.addin
  2. 6
      samples/CppBackendBinding/CppBackendBinding.csproj
  3. 8
      samples/CppBackendBinding/CppProject.cs

4
samples/CppBackendBinding/CppBackendBinding.addin

@ -6,6 +6,10 @@ @@ -6,6 +6,10 @@
<Import assembly = "CppBackendBinding.dll"/>
</Runtime>
<Manifest>
<Identity name="ICSharpCode.Sample.CppBackendBinding" version="@CppBackendBinding.dll"/>
</Manifest>
<Path name = "/SharpDevelop/Workbench/FileFilter">
<FileFilter id = "C++"
insertbefore="AllFiles"

6
samples/CppBackendBinding/CppBackendBinding.csproj

@ -37,15 +37,15 @@ @@ -37,15 +37,15 @@
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
<ItemGroup>
<Reference Include="ICSharpCode.Core">
<HintPath>D:\SD\3.0\SharpDevelop\bin\ICSharpCode.Core.dll</HintPath>
<HintPath>..\..\bin\ICSharpCode.Core.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ICSharpCode.SharpDevelop">
<HintPath>D:\SD\3.0\SharpDevelop\bin\ICSharpCode.SharpDevelop.dll</HintPath>
<HintPath>..\..\bin\ICSharpCode.SharpDevelop.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ICSharpCode.SharpDevelop.Dom">
<HintPath>D:\SD\3.0\SharpDevelop\bin\ICSharpCode.SharpDevelop.Dom.dll</HintPath>
<HintPath>..\..\bin\ICSharpCode.SharpDevelop.Dom.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />

8
samples/CppBackendBinding/CppProject.cs

@ -187,6 +187,8 @@ namespace CppBackendBinding @@ -187,6 +187,8 @@ namespace CppBackendBinding
static string GetFile(string filename)
{
if (string.IsNullOrEmpty(filename))
return null;
filename = Environment.ExpandEnvironmentVariables(filename);
if (File.Exists(filename))
return filename;
@ -211,8 +213,10 @@ namespace CppBackendBinding @@ -211,8 +213,10 @@ namespace CppBackendBinding
public override void StartBuild(ProjectBuildOptions options, IBuildFeedbackSink feedbackSink)
{
string productDir = GetPathFromRegistry(@"SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VC", "ProductDir");
string commonTools =
GetFile(Path.Combine(GetPathFromRegistry(@"SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VC", "ProductDir"), "bin\\vcvars32.bat"))
GetFile(productDir != null ? Path.Combine(productDir, "bin\\vcvars32.bat") : null)
?? GetFile("%VS90COMNTOOLS%\\vsvars32.bat")
?? GetFile("%VS80COMNTOOLS%\\vsvars32.bat");
@ -241,7 +245,7 @@ namespace CppBackendBinding @@ -241,7 +245,7 @@ namespace CppBackendBinding
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.EnvironmentVariables["VCBUILD_DEFAULT_CFG"] = options.Configuration + "|" + options.Platform;
p.StartInfo.EnvironmentVariables["SolutionPath"] = ParentSolution.Directory;
p.StartInfo.EnvironmentVariables["SolutionPath"] = ParentSolution.FileName;
p.EnableRaisingEvents = true;
p.OutputDataReceived += delegate(object sender, DataReceivedEventArgs e) {

Loading…
Cancel
Save