Esempio n. 1
0
        static void WrapperToDirectory(string outputDir, WrapperOptions options, IEnumerable <MyFileInfo> inputFiles)
        {
            if (Directory.Exists(outputDir))
            {
                if (options.HasFlag(WrapperOptions.ClearOutputDir))
                {
                    Directory.Delete(outputDir, true);
                }
                Directory.CreateDirectory(outputDir);
            }


            foreach (var myFileInfo in inputFiles)
            {
                string newOutDir = Path.Combine(outputDir, myFileInfo.SubPath);
                if (!Directory.Exists(newOutDir))
                {
                    Directory.CreateDirectory(newOutDir);
                }
                string newOutputFile = Path.Combine(newOutDir, myFileInfo.Info.Name.Replace('.', '_') + ".cpp");
                //                newOutputFile = Path.ChangeExtension(newOutputFile, ".cpp");
                WrapperToFile(newOutputFile, options, new List <MyFileInfo>()
                {
                    myFileInfo
                });
            }
        }
Esempio n. 2
0
        static void WrapperToFile(string outputFile, WrapperOptions options, IEnumerable<MyFileInfo> inputFiles)
        {
            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);
            if (options.HasFlag(WrapperOptions.Append))
            {
                if (File.Exists(outputFile))
                {
                    string temp = File.ReadAllText(outputFile);
                    sw.Write(temp);
                }
            }
            else
            {
                string version = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion;

                sw.WriteLine("//This file was created by FileWrapper {0}", version);
                sw.WriteLine("//DO NOT EDIT");

                sw.WriteLine("#include \"MedusaPreCompiled.h\"");
                sw.WriteLine("#include \"Core/IO/MemoryFileAutoRegister.h\"");
            }

            foreach (var inputFile in inputFiles)
            {
                if (options.HasFlag(WrapperOptions.Binary))
                {
                    WrapperBinary(sw, inputFile.Info.FullName, options.HasFlag(WrapperOptions.Manually));
                }
                else
                {
                    WrapperString(sw, inputFile.Info.FullName, options.HasFlag(WrapperOptions.Manually));
                }
            }

            sw.Close();

            String result = sb.ToString();
            if (options.HasFlag(WrapperOptions.Append))
            {
                System.IO.File.WriteAllText(outputFile, result);
            }
            else
            {
                if (File.Exists(outputFile))
                {
                    string temp = File.ReadAllText(outputFile);
                    if (temp != result)
                    {
                        System.IO.File.WriteAllText(outputFile, result);
                    }
                }
                else
                {
                    System.IO.File.WriteAllText(outputFile, result);
                }
            }
        }
Esempio n. 3
0
        static void WrapperToDirectory(string outputDir, WrapperOptions options, IEnumerable<MyFileInfo> inputFiles)
        {
            if (Directory.Exists(outputDir))
            {
                if (options.HasFlag(WrapperOptions.ClearOutputDir))
                {
                    Directory.Delete(outputDir, true);
                }
                Directory.CreateDirectory(outputDir);
            }

            foreach (var myFileInfo in inputFiles)
            {
                string newOutDir = Path.Combine(outputDir, myFileInfo.SubPath);
                if (!Directory.Exists(newOutDir))
                {
                    Directory.CreateDirectory(newOutDir);
                }
                string newOutputFile = Path.Combine(newOutDir, myFileInfo.Info.Name.Replace('.', '_') + ".cpp");
                //                newOutputFile = Path.ChangeExtension(newOutputFile, ".cpp");
                WrapperToFile(newOutputFile, options, new List<MyFileInfo>() { myFileInfo });
            }
        }
Esempio n. 4
0
        static void WrapperToFile(string outputFile, WrapperOptions options, IEnumerable <MyFileInfo> inputFiles)
        {
            StringBuilder sb = new StringBuilder();
            StringWriter  sw = new StringWriter(sb);

            if (options.HasFlag(WrapperOptions.Append))
            {
                if (File.Exists(outputFile))
                {
                    string temp = File.ReadAllText(outputFile);
                    sw.Write(temp);
                }
            }
            else
            {
                string version = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion;

                sw.WriteLine("//This file was created by FileWrapper {0}", version);
                sw.WriteLine("//DO NOT EDIT");

                sw.WriteLine("#include \"MedusaPreCompiled.h\"");
                sw.WriteLine("#include \"Core/IO/MemoryFileAutoRegister.h\"");
            }


            foreach (var inputFile in inputFiles)
            {
                if (options.HasFlag(WrapperOptions.Binary))
                {
                    WrapperBinary(sw, inputFile.Info.FullName, options.HasFlag(WrapperOptions.Manually));
                }
                else
                {
                    WrapperString(sw, inputFile.Info.FullName, options.HasFlag(WrapperOptions.Manually));
                }
            }

            sw.Close();

            String result = sb.ToString();

            if (options.HasFlag(WrapperOptions.Append))
            {
                System.IO.File.WriteAllText(outputFile, result);
            }
            else
            {
                if (File.Exists(outputFile))
                {
                    string temp = File.ReadAllText(outputFile);
                    if (temp != result)
                    {
                        System.IO.File.WriteAllText(outputFile, result);
                    }
                }
                else
                {
                    System.IO.File.WriteAllText(outputFile, result);
                }
            }
        }