public void fExecute() { if (bLink) { CppCompiler.CheckAllThreadsHaveFinishedWorking(true); //Force sequence?? Console.WriteLine("---linkCmd"); } else //Compile -> check depandency { oDepandance = new Depandance(this, sOutputFile); bSkip = !oDepandance.bHaveNewerFile; } // Console.WriteLine("--------------Skip: " + bSkip.ToString() ); if (!Program.bNowBuilding) { return; } if (!bSkip) { CppCompiler.fSend2Compiler(sCmd, bLink); } else { Output.TraceColored("\f27UpToDate: \f28" + sCmd); } }
static int Main(string[] args) { // redirect console output to parent process; // must be before any calls to Console.WriteLine() AttachConsole(ATTACH_PARENT_PROCESS); Sys.fGetParentProcess(); Console.WriteLine("Systeme mode: " + Sys.sParentName); if (Sys.sParentName == "cmd") { Data.bConsoleMode = true; } Data.fSetDefaultVar(args); Data.fCheckUpdate(); Data.fCreateConfigMng(); if (Data.bConsoleMode) { SysAPI.fStartConsole(); } if (!Data.bConsoleMode || SysAPI.bIsLoadedFromAnotherCwcInstance) { Data.bGUI = false; if (!Data.bModeIDE) { // Base.bAlive = false; //not work?? } } Data.fGetMainArg(); fCheckForRegistringFiles(); if (!Data.bConsoleMode) { GuiManager.fCreateGUI(); } if (Data.sArg == "") //No Argument { Output.Trace("\f0AVersion " + Data.sVersion + "\fs \n"); Msg.fShowIntroMessage(); SysAPI.fSetWorkingDir(PathHelper.ExeWorkDir); } else { Console.WriteLine("fBeginBuild "); Build.fBeginBuild(); } CppCompiler.CheckAllThreadsHaveFinishedWorking(true); Build.fDisableBuild(); if (Data.oGuiConsole != null) { if (!Data.oGuiConsole.fCheckForDemos()) { Program.fCheckForRegistringFiles(true); //Register if first use } } if (!Data.bConsoleMode) { if (Data.bModeIDE) { Base.bAlive = true; // PipeInput.fLaunchPipeInput(); } Build.fStartLoopTestingIdeLinkedClosing(); } Build.fMainLoop(); //if(Data.bConsoleMode) {SendKeys.SendWait("{ENTER}"); } return(0); }
internal void fRun(ModuleData _oModule = null, bool _bDontExecute = false, bool _bShowInfo = true, bool _bSilent = false) { bFinalised = false; if (!_bDontExecute) { aExeWaitingList = new List <LaunchTool>(); fDeletOutput(); wBuildTime = new Stopwatch(); wBuildTime.Start(); // if(Data.oMainForm != null) { Data.oLaunchProject.fSetOutput(aLinkCmdList, sCurr_wTo); // } if (!Data.bNowBuilding) { return; } //TODO test if we really use libt // Output.Trace("\f9B>> \f97 " + sAllArg); } int i = 0; foreach (CppSeq _oSeq in aCppSeq) { i++; if (!_bSilent) { Output.Trace("\f1B> \f13" + _oSeq.sSeq); // Output.Trace("\f1B> \f13 " + CppCmd.fExtractVar( _oSeq.sSeq,null) ); //Todo preextract var? } sCurr_wTo = ""; foreach (CppCmd _oCmd in _oSeq.aCppCmd) { sCurr_wTo = ""; _oCmd.fExtract(); // _oCmd.fExecute(); if (!Data.bNowBuilding) { return; } if (CppCompiler.nError > 0) { break; } } if (i == aCppSeq.Count) //Only last one? { fFinalize(); } if (!_bDontExecute) { CppCompiler.CheckAllThreadsHaveFinishedWorking(true); foreach (CppCmd _oCmd in _oSeq.aCppCmd) { _oCmd.fExecute(); if (!Data.bNowBuilding) { fShowInfo(_oModule, !_bSilent); return; } if (CppCompiler.nError > 0) { break; } // Thread.Sleep(1); } // if(Data.oMainForm != null) { //TODO better way? // Data.oLaunchProject.fSetOutput(aLinkCmdList,sCurr_wTo); // } CppCompiler.CheckAllThreadsHaveFinishedWorking(true); fWaitForWaitingList(); foreach (CppCmd _oCmd in _oSeq.aCppCmd) { _oCmd.fFinish(); if (!Data.bNowBuilding) { fShowInfo(_oModule, !_bSilent); return; } if (CppCompiler.nError > 0) { break; } } Data.oLaunchProject.fSetOutput(aLinkCmdList, sCurr_wTo); if (!Data.bNowBuilding) { fShowInfo(_oModule, !_bSilent); return; } if (CppCompiler.nError > 0) { break; } } } if (_bDontExecute) { fShowInfo(_oModule, !_bSilent); return; } ///Finalize compiler commands /// fShowInfo(_oModule, _bShowInfo); }