diff --git a/build/premake4.lua b/build/premake4.lua index 7eaf81fb..5d58d31e 100644 --- a/build/premake4.lua +++ b/build/premake4.lua @@ -32,9 +32,9 @@ solution "Cxxi" group "Tests" IncludeTests() - group "Cxxi" + group "Libraries" + include (srcdir .. "/Cxxi/Cxxi.lua") include (srcdir .. "/Bridge/Bridge.lua") include (srcdir .. "/Generator/Generator.lua") include (srcdir .. "/Generator.Tests/Generator.Tests.lua") include (srcdir .. "/Parser/Parser.lua") - diff --git a/src/Cxxi/Cxxi.lua b/src/Cxxi/Cxxi.lua new file mode 100644 index 00000000..8817f65f --- /dev/null +++ b/src/Cxxi/Cxxi.lua @@ -0,0 +1,9 @@ +project "Cxxi" + + kind "ConsoleApp" + language "C#" + location "." + + files { "**.cs" } + + links { "System", "System.Core", "Bridge", "Generator" } diff --git a/src/Generator/Program.cs b/src/Cxxi/Program.cs similarity index 91% rename from src/Generator/Program.cs rename to src/Cxxi/Program.cs index 1577dfd2..2d9a8b50 100644 --- a/src/Generator/Program.cs +++ b/src/Cxxi/Program.cs @@ -1,11 +1,11 @@ -using System; +using System; using System.IO; using System.Reflection; using Mono.Options; namespace Cxxi { - public class Program + internal class Program { static void ShowHelp(OptionSet options) { @@ -115,7 +115,7 @@ namespace Cxxi return true; } - public static void Main(String[] args) + public static void Main(string[] args) { var options = new DriverOptions(); @@ -132,16 +132,5 @@ namespace Cxxi driver.ProcessCode(); driver.GenerateCode(); } - - public static void Run(ILibrary library) - { - var options = new DriverOptions(); - - var driver = new Driver(options, library); - driver.Setup(); - driver.ParseCode(); - driver.ProcessCode(); - driver.GenerateCode(); - } } -} +} \ No newline at end of file diff --git a/src/Generator/Driver.cs b/src/Generator/Driver.cs index 376c3a35..8c21ae25 100644 --- a/src/Generator/Driver.cs +++ b/src/Generator/Driver.cs @@ -122,6 +122,17 @@ namespace Cxxi generator.Generate(unit); } } + + public static void Run(ILibrary library) + { + var options = new DriverOptions(); + + var driver = new Driver(options, library); + driver.Setup(); + driver.ParseCode(); + driver.ProcessCode(); + driver.GenerateCode(); + } } public class DriverOptions diff --git a/src/Generator/Generator.lua b/src/Generator/Generator.lua index 19a6580d..934ad031 100644 --- a/src/Generator/Generator.lua +++ b/src/Generator/Generator.lua @@ -1,6 +1,6 @@ project "Generator" - kind "ConsoleApp" + kind "SharedLib" language "C#" location "." diff --git a/src/Generator/Utils/Utils.cs b/src/Generator/Utils/Utils.cs index 28415bf3..c5f1bee0 100644 --- a/src/Generator/Utils/Utils.cs +++ b/src/Generator/Utils/Utils.cs @@ -160,12 +160,12 @@ namespace Cxxi } } - static class AssemblyHelpers + public static class AssemblyHelpers { public static IEnumerable<System.Type> FindDerivedTypes(this Assembly assembly, System.Type baseType) { return assembly.GetTypes().Where(baseType.IsAssignableFrom); - } + } } }