Ejemplo n.º 1
0
        private string GenerateDLLMain()
        {
            var str = DefaultStrings.DllMain;

            str = GDMake.FilterDefaultString(str, "<<?CONSOLE>>", this.Dotfile.ConsoleEnabled);
            str = str.Replace("<<MOD_NAME>>", this.Name);
            str = str.Replace("<<GDMAKE_DIR>>", GDMake.ExePath);

            return(str);
        }
Ejemplo n.º 2
0
        private string GenerateCMakeLists(List <string> libs)
        {
            var str = DefaultStrings.CMakeLists;

            str = str.Replace("<<GDMAKE_DIR>>", GDMake.ExePath.Replace("\\", "/"));
            str = str.Replace("<<MOD_NAME>>", this.Name);

            var libstr = "";

            foreach (var lib in libs)
            {
                if (Path.IsPathRooted(lib))
                {
                    libstr += lib + "\n";
                }
                else
                {
                    libstr += $"{GDMake.ExePath.Replace("\\", "/")}/{lib}\n";
                }
            }

            str = str.Replace("<<GDMAKE_LIBS>>", libstr);

            var incpath = "";

            foreach (var inc in GDMake.GetIncludePath())
            {
                incpath += inc + "\n";
            }

            str = str.Replace("<<GDMAKE_HEADERS>>", incpath);

            var srcpath = "";

            foreach (var sub in GDMake.Submodules)
            {
                if (this.Dotfile.Submodules.Contains(sub.Name) && sub.Type == GDMake.Submodule.TSubmoduleType.stIncludeSource)
                {
                    foreach (var src in sub.SourcePaths)
                    {
                        srcpath += src + "\n";
                    }
                }
            }

            str = str.Replace("<<GDMAKE_SOURCES>>", srcpath);

            str = GDMake.FilterDefaultString(str, "<<?GDMAKE_DLLMAIN>>", this.Dotfile.EntryPoint == null);
            str = GDMake.FilterDefaultString(str, "<<?GDMAKE_CONSOLE>>", this.Dotfile.ConsoleEnabled);

            return(str);
        }