diff --git a/bootstrap/prebuild.dll b/bootstrap/prebuild.dll index e58f38a..3f8923b 100644 Binary files a/bootstrap/prebuild.dll and b/bootstrap/prebuild.dll differ diff --git a/source/Prebuild/Core/Nodes/TextGenNode.cs b/source/Prebuild/Core/Nodes/TextGenNode.cs index 5f7496d..becd19e 100644 --- a/source/Prebuild/Core/Nodes/TextGenNode.cs +++ b/source/Prebuild/Core/Nodes/TextGenNode.cs @@ -16,6 +16,7 @@ namespace Prebuild.Core.Nodes private string m_Name; private string m_OutputName; private List m_Libs = new(); + private string m_Tool; #endregion @@ -25,6 +26,7 @@ namespace Prebuild.Core.Nodes { m_Name = Helper.AttributeValue(node, "name", ""); m_OutputName = Helper.AttributeValue(node, "output", ""); + m_Tool = Helper.AttributeValue(node, "tool", "SnapWrap"); foreach (XmlNode childNode in node.ChildNodes) { @@ -75,6 +77,14 @@ namespace Prebuild.Core.Nodes } } + public string Tool + { + get + { + return m_Tool; + } + } + #endregion } } diff --git a/source/Prebuild/Core/Targets/VSGenericTarget.cs b/source/Prebuild/Core/Targets/VSGenericTarget.cs index 35dd414..76ef749 100644 --- a/source/Prebuild/Core/Targets/VSGenericTarget.cs +++ b/source/Prebuild/Core/Targets/VSGenericTarget.cs @@ -687,17 +687,28 @@ public abstract class VSGenericTarget : ITarget } } + private void WriteTextGeneratorNodes(ProjectNode project, StreamWriter ps) { + int count = 0; foreach(TextGenNode node in project.TextGenNodes) { - string pathText = Path.Combine("Prebuild", "bootstrap", "SnapWrap.dll"); + string pathText = Path.Combine("Prebuild", "bootstrap", node.Tool); + pathText = Path.ChangeExtension(pathText, "dll"); + string filePath = Path.Combine(project.Path, node.Name); string outputFile = Path.Combine(project.Path, node.OutputName); - ps.WriteLine(" "); - ps.WriteLine($" "); + ps.WriteLine(" "); + + if (node.Tool == "SnapWrap") + ps.WriteLine($" "); + else + ps.WriteLine($"