diff --git a/Prebuild/src/Core/Nodes/OptionsNode.cs b/Prebuild/src/Core/Nodes/OptionsNode.cs index 86ca0a9f79..a562acf5b6 100755 --- a/Prebuild/src/Core/Nodes/OptionsNode.cs +++ b/Prebuild/src/Core/Nodes/OptionsNode.cs @@ -297,6 +297,24 @@ namespace Prebuild.Core.Nodes } } + [OptionNode("OutDir")] + private string m_OutDir = "bin/"; + + /// + /// + /// + public string OutDir + { + get + { + return m_OutDir; + } + set + { + m_OutDir = value; + } + } + [OptionNode("OutputPath")] private string m_OutputPath = "bin/"; @@ -673,6 +691,14 @@ namespace Prebuild.Core.Nodes return m_FieldsDefined.Contains("m_" + name); } + // Return the names of all the fields that have had a value set + public IEnumerable AllDefined() + { + foreach (string name in m_FieldsDefined) { + yield return name.Substring(2); + } + } + /// /// Copies to. /// diff --git a/Prebuild/src/Core/Targets/VSGenericTarget.cs b/Prebuild/src/Core/Targets/VSGenericTarget.cs index d05702024e..1e9bc68d0c 100755 --- a/Prebuild/src/Core/Targets/VSGenericTarget.cs +++ b/Prebuild/src/Core/Targets/VSGenericTarget.cs @@ -592,14 +592,10 @@ namespace Prebuild.Core.Targets if (conf.Name == "unknown") { ps.WriteLine(" "); - string[] optionNames = new string[] { "OutputPath", "OutputType", "RootNamespace" }; - foreach (var opt in optionNames) + foreach (string opt in conf.Options.AllDefined()) { - if (conf.Options.IsDefined(opt)) - { - ps.WriteLine(" <{0}>{1}", opt, - Helper.EndPath(Helper.NormalizePath(conf.Options[opt].ToString()))); - } + ps.WriteLine(" <{0}>{1}", opt, + Helper.EndPath(Helper.NormalizePath(conf.Options[opt].ToString()))); } ps.WriteLine(" "); ps.WriteLine(); diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe index 09f797f440..c2a7b1d67b 100755 Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ