public void Run()
        {
            LogStage("Generate Stage");
            CurrentConfigs = BuildConfiguration.GetDefaultConfigs();
            Directory.CreateDirectory(GetIntermediateDir());
            GatherModuleFiles();
            PlatformDefinition.Init(Interfaces);

            if (USEPREMAKE)
            {
                gen = new PreMakeGenerator();
            }
            else
            {
                gen = new CmakeGenerator();
            }
            //core module Is Special!
            CoreModule = TargetRulesObject.GetCoreModule();
            for (int i = ALLModules.Count - 1; i >= 0; i--)
            {
                if (ALLModules[i].IsGameModule && ALLModules[i].ModuleName != CoreModule.GameModuleName)
                {
                    ALLModules.RemoveAt(i);
                }
            }
            ALLModules.Add(CoreModule);
            if (LogDebug)
            {
                foreach (ModuleDef M in ALLModules)
                {
                    Console.WriteLine("Found module " + M.ModuleName);
                }
            }
            Projectdata.LibSearchPaths.AddRange(TargetRulesObject.LibSearchPaths);
            PreProcessModules();
            Projectdata.PopulateLibs();
            ProcessModules();
            LogStage("Generate project files stage");
            if (!SettingCache.IsCacheValid())
            {
                gen.ClearCache();
                Console.WriteLine("Cache Is Invalid, clearing...");
            }

            gen.SingleTargetPlatform = PlatformDefinition.GetDefinition(PlatformDefinition.WindowsID);
            gen.GenerateList(ALLModules, CoreModule, CurrentConfigs);
            gen.Execute();
            LogStage("Post Gen");
            gen.RunPostStep(NonCoreModuleObjects, CoreModule);
            LogStage("Copy DLLs");
            FileUtils.CreateShortcut("EngineSolution.sln", GetRootPath(), GetIntermediateDir() + "\\Engine.sln");
            Projectdata.CopyDllsToConfig(PlatformDefinition.GetDefaultPlatforms(), CurrentConfigs, ALLModules);
            LinkDirectiories();
            SettingCache.Save();
            LogStage("Complete");
        }
        public ModuleDefManager()
        {
            Instance  = this;
            SourceDir = Directory.GetCurrentDirectory() + "\\Source";;
#if DEBUG
            SourceDir = "C:\\Users\\AANdr\\Documents\\Dev\\Engine\\Engine\\Repo\\GraphicsEngine\\Source\\";
            if (Directory.Exists(SourceDir))
            {
                USEPREMAKE = true;
            }
            else
            {
                SourceDir = Directory.GetCurrentDirectory() + "\\Source";;
            }
#endif
            Projectdata = new Library();
            SettingCache.Load();
        }
示例#3
0
        public void Resolve()
        {
            int VersionNum = 0;

            if (!int.TryParse(WindowTenVersionTarget, out VersionNum))
            {
                //default!
                WindowTenVersionTarget = "1903";
                VersionNum             = 1903;
            }
            SettingCache.SetWinSdk(VersionNum);
            if (WindowsApiVersion.Length == 0)
            {
                WindowsApiVersion = PlatformData.GetWinSdkVersion(WindowTenVersionTarget);
            }
            if (Win_SupportsRT())
            {
                GlobalDefines.Add("PLATFORM_RT");
            }
        }
示例#4
0
 public static void Load()
 {
     Instance = new SettingCache();
     if (File.Exists(GetSettingFilePath()))
     {
         // Construct an instance of the XmlSerializer with the type
         // of object that is being deserialized.
         XmlSerializer mySerializer =
             new XmlSerializer(typeof(SettingData));
         // To read the file, create a FileStream.
         FileStream myFileStream = new FileStream(GetSettingFilePath(), FileMode.Open);
         // Call the Deserialize method and cast to the object type.
         Instance.Dataset = (SettingData)
                            mySerializer.Deserialize(myFileStream);
         Console.WriteLine("Settings Cache Loaded");
     }
     else
     {
         Instance.Dataset = new SettingData();
     }
 }