Skip to content

Commit

Permalink
Added VS2010 support to Prebuild and created runprebuild2010.bat
Browse files Browse the repository at this point in the history
  • Loading branch information
jhurliman committed Oct 23, 2009
1 parent f34e8ad commit 96d53f1
Show file tree
Hide file tree
Showing 8 changed files with 148 additions and 4 deletions.
4 changes: 4 additions & 0 deletions Prebuild/src/Core/Nodes/ProjectNode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@ public enum FrameworkVersion
/// .NET 3.5
/// </summary>
v3_5,
/// <summary>
/// .NET 4.0
/// </summary>
v4_0,
}
/// <summary>
/// The Node object representing /Prebuild/Solution/Project elements
Expand Down
2 changes: 1 addition & 1 deletion Prebuild/src/Core/Targets/VS2008Target.cs
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ public override string SolutionTag
#region Constructors

/// <summary>
/// Initializes a new instance of the <see cref="VS2005Target"/> class.
/// Initializes a new instance of the <see cref="VS2008Target"/> class.
/// </summary>
public VS2008Target()
: base()
Expand Down
134 changes: 134 additions & 0 deletions Prebuild/src/Core/Targets/VS2010Target.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
using System;
using System.Collections;
using System.Collections.Specialized;
using System.IO;
using System.Text;

using Prebuild.Core.Attributes;
using Prebuild.Core.Interfaces;
using Prebuild.Core.Nodes;
using Prebuild.Core.Utilities;
using System.CodeDom.Compiler;

namespace Prebuild.Core.Targets
{

/// <summary>
///
/// </summary>
[Target("vs2010")]
public class VS2010Target : VSGenericTarget
{
#region Fields
string solutionVersion = "11.00";
string productVersion = "9.0.21022";
string schemaVersion = "2.0";
string versionName = "Visual Studio 2010";
string name = "vs2008";
VSVersion version = VSVersion.VS10;

Hashtable tools;
Kernel kernel;

/// <summary>
/// Gets or sets the solution version.
/// </summary>
/// <value>The solution version.</value>
public override string SolutionVersion
{
get
{
return solutionVersion;
}
}
/// <summary>
/// Gets or sets the product version.
/// </summary>
/// <value>The product version.</value>
public override string ProductVersion
{
get
{
return productVersion;
}
}
/// <summary>
/// Gets or sets the schema version.
/// </summary>
/// <value>The schema version.</value>
public override string SchemaVersion
{
get
{
return schemaVersion;
}
}
/// <summary>
/// Gets or sets the name of the version.
/// </summary>
/// <value>The name of the version.</value>
public override string VersionName
{
get
{
return versionName;
}
}
/// <summary>
/// Gets or sets the version.
/// </summary>
/// <value>The version.</value>
public override VSVersion Version
{
get
{
return version;
}
}
/// <summary>
/// Gets the name.
/// </summary>
/// <value>The name.</value>
public override string Name
{
get
{
return name;
}
}

protected override string GetToolsVersionXml(FrameworkVersion frameworkVersion)
{
switch (frameworkVersion)
{
case FrameworkVersion.v4_0:
return "ToolsVersion=\"4.0\"";
case FrameworkVersion.v3_5:
return "ToolsVersion=\"3.5\"";
case FrameworkVersion.v3_0:
return "ToolsVersion=\"3.0\"";
default:
return "ToolsVersion=\"2.0\"";
}
}

public override string SolutionTag
{
get { return "# Visual Studio 2010"; }
}

#endregion

#region Constructors

/// <summary>
/// Initializes a new instance of the <see cref="VS2010Target"/> class.
/// </summary>
public VS2010Target()
: base()
{
}

#endregion
}
}
2 changes: 1 addition & 1 deletion Prebuild/src/Core/Targets/VSGenericTarget.cs
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ private void WriteProject(SolutionNode solution, ProjectNode project)
#region Project File
using (ps)
{
ps.WriteLine("<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\" {0}>", GetToolsVersionXml(project.FrameworkVersion));
ps.WriteLine("<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\" ToolsVersion=\"{0}\">", this.Version == VSVersion.VS10 ? "4.0" : "3.5");
ps.WriteLine(" <PropertyGroup>");
ps.WriteLine(" <ProjectType>Local</ProjectType>");
ps.WriteLine(" <ProductVersion>{0}</ProductVersion>", this.ProductVersion);
Expand Down
6 changes: 5 additions & 1 deletion Prebuild/src/Core/Targets/VSVersion.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@ public enum VSVersion
/// <summary>
/// Visual Studio 2008
/// </summary>
VS90
VS90,
/// <summary>
/// Visual Studio 2010
/// </summary>
VS10
}
}
Binary file modified bin/Prebuild.exe
Binary file not shown.
2 changes: 1 addition & 1 deletion prebuild.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3135,7 +3135,7 @@
</Files>
</Project>

<Project name="OpenSim.Tools.lslc" path="OpenSim/Tools/Compiler" type="Exe">
<Project frameworkVersion="v3_5" name="OpenSim.Tools.lslc" path="OpenSim/Tools/Compiler" type="Exe">
<Configuration name="Debug">
<Options>
<OutputPath>../../../bin/</OutputPath>
Expand Down
2 changes: 2 additions & 0 deletions runprebuild2010.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bin\Prebuild.exe /target vs2010
echo C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild OpenSim.sln > compile.bat

0 comments on commit 96d53f1

Please sign in to comment.