Browse Source

Added VS2010 support to Prebuild and created runprebuild2010.bat

John Hurliman 14 years ago
parent
commit
96d53f11e5

+ 4 - 0
Prebuild/src/Core/Nodes/ProjectNode.cs

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

+ 1 - 1
Prebuild/src/Core/Targets/VS2008Target.cs

@@ -120,7 +120,7 @@ namespace Prebuild.Core.Targets
 		#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()

+ 134 - 0
Prebuild/src/Core/Targets/VS2010Target.cs

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

+ 1 - 1
Prebuild/src/Core/Targets/VSGenericTarget.cs

@@ -173,7 +173,7 @@ namespace Prebuild.Core.Targets
 			#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);

+ 5 - 1
Prebuild/src/Core/Targets/VSVersion.cs

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

BIN
bin/Prebuild.exe


+ 1 - 1
prebuild.xml

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

+ 2 - 0
runprebuild2010.bat

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