178 void OnJobEnd(
size_t procIndex,
int exitCode);
220 int DoBuild(
bool clean,
bool build);
221 int DoBuild(
const wxString& target,
bool clean,
bool build,
bool clearLog=
true);
330 DECLARE_EVENT_TABLE()
333 #endif // COMPILERGCC_H
void OnKillProcess(wxCommandEvent &event)
void OnJobEnd(size_t procIndex, int exitCode)
CompilerMessages * m_pListLog
void OnCompileFileRequest(CodeBlocksEvent &event)
int GetConfigurationPriority() const
Return the plugin's configuration priority.
virtual bool IsRunning() const
Is the plugin currently compiling?
wxDateTime m_BuildStartTime
virtual void OnRelease(bool appShutDown)
bool IsValidTarget(const wxString &target) const
void TextURL(wxTextUrlEvent &event)
const BuildJobTarget & PeekNextJob()
virtual int Clean(const wxString &target)
Same as Clean(ProjectBuildTarget*) but with a wxString argument.
void PrepareCompileFilePM(wxFileName &file)
wxString m_BuildLogFilename
void UpdateProjectTargets(cbProject *project)
bool IsProcessRunning(int idx=-1) const
std::vector< CompilerProcess > CompilerProcessList
void DoRegisterCompilers()
void OnProjectCompilerOptions(wxCommandEvent &event)
void OnConfig(wxCommandEvent &event)
BuildState
Defines the current state of the compiler.
void OnCleanFile(wxCommandEvent &event)
void OnCompileAll(wxCommandEvent &event)
void AddToCommandQueue(const wxArrayString &commands)
void SwitchCompiler(const wxString &id)
void OnRebuild(wxCommandEvent &event)
void DoClean(const wxArrayString &commands)
void OnNextError(wxCommandEvent &event)
void PrintBanner(BuildAction action, cbProject *prj=0, ProjectBuildTarget *target=0)
static const int cgCompiler
Compiler related.
void OnTargetCompilerOptions(wxCommandEvent &event)
wxTimer m_timerIdleWakeUp
virtual void OnAttach()
Any descendent plugin should override this virtual method and perform any necessary initialization...
void OnProjectActivated(CodeBlocksEvent &event)
BuildState GetNextStateBasedOnJob()
int GetNextAvailableProcessIndex() const
virtual int BuildWorkspace(const wxString &target=wxEmptyString)
Build all open projects.
virtual int RunSingleFile(const wxString &filename)
void DoPrepareQueue(bool clearLog)
const wxString & GetCurrentCompilerID()
void OnSelectTarget(wxCommandEvent &event)
wxString GetTargetString(int index=-1)
void BuildStateManagement()
This uses m_BuildJob.
virtual int CompileFileWithoutProject(const wxString &file)
void OnCleanAll(wxCommandEvent &event)
ProjectBuildTarget * DoAskForTarget()
virtual int CleanWorkspace(const wxString &target=wxEmptyString)
Clean all open projects.
int GetConfigurationGroup() const
Return the configuration group for this plugin.
void CalculateWorkspaceDependencies(wxArrayInt &deps)
virtual int RebuildWorkspace(const wxString &target=wxEmptyString)
Rebuild all open projects.
bool m_IsWorkspaceOperation
void NotifyJobDone(bool showNothingToBeDone=false)
Represents a file in a Code::Blocks project.
A generic Code::Blocks event.
wxString ProjectMakefile()
void Dispatcher(wxCommandEvent &event)
Base class for compiler plugins.
CompilerLineType
Enum categorizing compiler's output line as warning/error/info/normal.
int m_RealTargetsStartIndex
void OnProjectLoaded(CodeBlocksEvent &event)
FileTreeData * DoSwitchProjectTemporarily()
BuildJobTarget(cbProject *p=0, const wxString &n=wxEmptyString)
wxString m_BuildLogContents
void OnRebuildAll(wxCommandEvent &event)
virtual int KillProcess()
Abort the current build process.
BuildJobTarget GetNextJob()
Represents a Code::Blocks project.
wxString m_LastTargetName
CompilerProcessList m_CompilerProcessList
void DoGotoPreviousError()
ModuleType
The type of module offering a context menu.
void OnCompileAndRun(wxCommandEvent &event)
int GetTargetIndexFromName(cbProject *prj, const wxString &name)
void AskForActiveProject()
void InitBuildState(BuildJob job, const wxString &target)
bool m_LogBuildProgressPercentage
bool UseMake(cbProject *project=0)
cbProject * m_pBuildingProject
wxString GetMakeCommandFor(MakeCommand cmd, cbProject *project, ProjectBuildTarget *target)
void OnTimer(wxTimerEvent &event)
void AddOutputLine(const wxString &output, bool forceErrorColour=false)
void OnWorkspaceClosed(CodeBlocksEvent &event)
virtual int CompileFile(const wxString &file)
Compile a specific file.
BuildJob
Helper enum for compiler's state. This state signifies the kind of build the compiler is working on...
int DoWorkspaceBuild(const wxString &target, bool clean, bool build, bool clearLog=true)
ProjectBuildTarget * GetBuildTargetForFile(ProjectFile *pf)
Base class for plugin configuration panels.
int GetActiveProcessCount() const
virtual int GetExitCode() const
Get the exit code of the last build process.
void StartCompileFile(wxFileName file)
void OnCompile(wxCommandEvent &event)
std::queue< BuildJobTarget > BuildJobTargetsList
void OnPreviousError(wxCommandEvent &event)
wxArray< int > wxArrayInt
void OnGCCOutput(CodeBlocksEvent &event)
Abstract base class for compilers.
void ExpandTargets(cbProject *project, const wxString &targetName, wxArrayString &result)
virtual int Rebuild(ProjectBuildTarget *target=0L)
Rebuild the project/target.
void NotifyCleanWorkspace()
void LogWarningOrError(CompilerLineType lt, cbProject *prj, const wxString &filename, const wxString &line, const wxString &msg)
BuildJobTargetsList m_BuildJobTargetsList
virtual int CompileFileDefault(cbProject *project, ProjectFile *pf, ProjectBuildTarget *bt)
void CalculateProjectDependencies(cbProject *prj, wxArrayInt &deps)
BuildState m_NextBuildState
CompilerValidResult CompilerValid(ProjectBuildTarget *target=0)
void OnIdle(wxIdleEvent &event)
void OnClearErrors(wxCommandEvent &event)
virtual int Build(ProjectBuildTarget *target=0L)
Build the project/target.
bool m_RunTargetPostBuild
void InitBuildLog(bool workspaceBuild)
void OnCompileFile(wxCommandEvent &event)
wxString m_BuildingTargetName
void LogMessage(const wxString &message, CompilerLineType lt=cltNormal, LogTarget log=ltAll, bool forceErrorColour=false, bool isTitle=false, bool updateProgress=false)
bool DoCleanWithMake(ProjectBuildTarget *bt)
Represents a Code::Blocks project build target.
void OnClean(wxCommandEvent &event)
void PrepareCompileFile(wxFileName &file)
cbProject * m_pLastBuildingProject
void PrintInvalidCompiler(ProjectBuildTarget *target, Compiler *compiler, const wxString &finalMessage)
void OnRun(wxCommandEvent &event)
void PreprocessJob(cbProject *project, const wxString &targetName)
cbConfigurationPanel * GetConfigurationPanel(wxWindow *parent)
int DoBuild(bool clean, bool build)
bool StopRunningDebugger()
void OnGCCTerminated(CodeBlocksEvent &event)
void OnUpdateUI(wxUpdateUIEvent &event)
bool m_RunProjectPostBuild
void OnProjectUnloaded(CodeBlocksEvent &event)
ProjectBuildTarget * m_pLastBuildingTarget
void OnGCCError(CodeBlocksEvent &event)
virtual int Run(ProjectBuildTarget *target=0L)
Run the project/target.
virtual int DistClean(ProjectBuildTarget *target=0L)
DistClean the project/target.
CompilerQueue m_CommandQueue
const wxString lt(_T("<"))
void NotifyCleanProject(const wxString &target)
void ClearLog(bool switchToLog)