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); }
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); }