Added VS2010 support to Prebuild and created runprebuild2010.bat

0.6.8-post-fixes
John Hurliman 2009-10-22 17:03:13 -07:00
parent f34e8adffb
commit 96d53f11e5
8 changed files with 148 additions and 4 deletions

View File

@ -90,6 +90,10 @@ namespace Prebuild.Core.Nodes
/// .NET 3.5 /// .NET 3.5
/// </summary> /// </summary>
v3_5, v3_5,
/// <summary>
/// .NET 4.0
/// </summary>
v4_0,
} }
/// <summary> /// <summary>
/// The Node object representing /Prebuild/Solution/Project elements /// The Node object representing /Prebuild/Solution/Project elements

View File

@ -120,7 +120,7 @@ namespace Prebuild.Core.Targets
#region Constructors #region Constructors
/// <summary> /// <summary>
/// Initializes a new instance of the <see cref="VS2005Target"/> class. /// Initializes a new instance of the <see cref="VS2008Target"/> class.
/// </summary> /// </summary>
public VS2008Target() public VS2008Target()
: base() : base()

View File

@ -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
}
}

View File

@ -173,7 +173,7 @@ namespace Prebuild.Core.Targets
#region Project File #region Project File
using (ps) 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(" <PropertyGroup>");
ps.WriteLine(" <ProjectType>Local</ProjectType>"); ps.WriteLine(" <ProjectType>Local</ProjectType>");
ps.WriteLine(" <ProductVersion>{0}</ProductVersion>", this.ProductVersion); ps.WriteLine(" <ProductVersion>{0}</ProductVersion>", this.ProductVersion);

View File

@ -45,6 +45,10 @@ namespace Prebuild.Core.Targets
/// <summary> /// <summary>
/// Visual Studio 2008 /// Visual Studio 2008
/// </summary> /// </summary>
VS90 VS90,
/// <summary>
/// Visual Studio 2010
/// </summary>
VS10
} }
} }

Binary file not shown.

View File

@ -3135,7 +3135,7 @@
</Files> </Files>
</Project> </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"> <Configuration name="Debug">
<Options> <Options>
<OutputPath>../../../bin/</OutputPath> <OutputPath>../../../bin/</OutputPath>

2
runprebuild2010.bat Normal file
View File

@ -0,0 +1,2 @@
bin\Prebuild.exe /target vs2010
echo C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild OpenSim.sln > compile.bat