User forums > Nightly builds
The 27 February 2010 build (6181) is out.
killerbot:
no no, that is correct. Because this is a new build with a different compiler ot the same sources, the dll could keep it's name, put the distribution package of it (the zip) got a new name to make sure which one it is.
yanqingan:
Thank you ,I like this very much
critic:
In my plugin I catch cbEVT_COMPILER_STARTED event. When I build single project - all works fine, but when I choose Build workspace - only one project is built. I checked this and found that cbEVT_COMPILER_STARTED sended only one time for active project in workspace. But to build all workspace projects (Qt projects, for example) I need do it by activating and building them by hands - not good :(
May be it's a bug?
critic:
It seems I found the problem - it's in methods where DoPrepareQueue method is called
For example (compilergcc.cpp, line 2714)
--- Code: ---int CompilerGCC::DoBuild(const wxString& target, bool clean, bool build, bool clearLog)
{
wxString realTarget = target;
if (realTarget.IsEmpty())
realTarget = GetTargetString();
if (!StopRunningDebugger())
return -1;
if (!CheckProject())
{
// no active project
if (Manager::Get()->GetEditorManager()->GetActiveEditor())
return CompileFile(Manager::Get()->GetEditorManager()->GetActiveEditor()->GetFilename());
return -1;
}
if (realTarget.IsEmpty())
return -1;
if (!m_IsWorkspaceOperation)
{
DoClearErrors();
InitBuildLog(false);
// if (!m_IsWorkspaceOperation)
DoPrepareQueue(clearLog);
}
PreprocessJob(m_Project, realTarget);
if (m_BuildJobTargetsList.empty())
{
return -1;
}
InitBuildState(bjProject, realTarget);
if (DoBuild(clean, build))
{
return -2;
}
return DoRunQueue();
}
--- End code ---
and
--- Code: ---void CompilerGCC::DoPrepareQueue(bool clearLog)
{
if (m_CommandQueue.GetCount() == 0)
{
CodeBlocksEvent evt(cbEVT_COMPILER_STARTED, 0, m_Project, 0, this);
Manager::Get()->ProcessEvent(evt);
if(clearLog)
ClearLog();
DoClearErrors();
// wxStartTimer();
m_StartTimer = wxGetLocalTimeMillis();
}
Manager::Yield();
}
--- End code ---
cbEVT_COMPILER_STARTED is sended from DoPrepareQueue method, but the latter is not called for workspace operations.
I don't know, maybe there is another way to do makefile generation in my plugin?
critic:
Else I found that building of referenced projects for some project is also don't work correctly - I think this is related to my previous post
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version