User forums > Nightly builds

The 27 February 2010 build (6181) is out.

<< < (11/23) > >>

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