Hi,<div><br></div><div>I guess its re-using the duchain cache instead of parsing from the beginning. I don't know the intended or actual semantics of the corresponding code, but the parsing-trigger you see for the apply/ok button is the only public API that exists. If you can find a small reproduction case with a simple project, I'd suggest to file a bugreport against the C++ language support.</div>
<div><br></div><div>Andreas<br><br><div class="gmail_quote">On Tue, Jun 26, 2012 at 10:36 AM, Eugene Agafonov <span dir="ltr"><<a href="mailto:e.a.agafonov@gmail.com" target="_blank">e.a.agafonov@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>Hi!<br>
      <br>
      It seems to me the original problem I've faced is solved with
      Custom Build plugin<br>
      I've finally get the plugin working.   Thanks for a great job!
      *thumbup*<br>
      <br>
      I've faced another issue: new defines are not applied immediately.
      I've restarted kdevelop<br>
      several times before defines are applied.  No exact scenario yet
      :-(<br>
      <br>
      I've added some logging into CustomBuildSystem::defines and
      CustomBuildSystem::includeDirectories to make sure they return
      data I've entered. They do actually but it looks like defies are
      not applied immediately as  soon as added. It seems to me the
      parser need to be kicked somehow.<br>
      <br>
      As I can see the background parser job is started as soon as
      Apply/OK button is applied on Custom Build build settings dialog
      but it is not enough to apply newly defined macro.<br>
      <br>
      Any ideas?<div class="im"><br>
      <br>
      Thanks a lot, Eugene Agafonov.<br>
    </div></div>
    <blockquote type="cite"><br><div><div class="h5">
      <div class="gmail_quote">On Mon, Jun 25, 2012 at 10:44 PM, Eugene
        Agafonov <span dir="ltr"><<a href="mailto:e.a.agafonov@gmail.com" target="_blank">e.a.agafonov@gmail.com</a>></span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          Hi!
          <div><br>
          </div>
          <div>I've faced an annoying issue with C++ parser. It does not
            enable declaration-definition navigation if it decides the
            code is not compiled due to conditional compilation.</div>
          <div>It is really predictable behavior but it is an issue if
            macro is not defined in any header file but defined as
            compiler command line option.</div>
          <div><br>
          </div>
          <div>The main question is: Is it possible to tell the parser
            that some macro is actually defined somewhere in universe
            and it shall threat it as defined while parsing the source
            code.</div>
        </blockquote>
        <div>
          <br>
        </div>
        <div>Yes, this is typically the job of the buildsystem manager,
          the parser asks it about the defines for a given file/folder
          or target and the buildsystem manager should provide them
          based on the selected build directory</div>
        <div> </div>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div>
            Any way, it would be useful to set macro value for parsing
             as it is done for custom include paths.</div>
        </blockquote>
        <div><br>
        </div>
        <div>If you have cmake, then the parser not getting all the
          defines is to be considered a bug, though there are ways of
          using cmake which kdevelop cannot support.</div>
        <div><br>
        </div>
        <div>If you use some other buildsystem, I'd suggest using the
          Custom Buildsystem Plugin:</div>
        <div><a href="https://projects.kde.org/projects/extragear/kdevelop/plugins/kdev-custom-buildsystem" target="_blank">https://projects.kde.org/projects/extragear/kdevelop/plugins/kdev-custom-buildsystem</a></div>
        <div><br>
        </div>
        <div>It allows to configure which defines should be set for
          which source folder of the project and the parser will be able
          to fetch this information.</div>
        <div><br>
        </div>
        <div>Andreas</div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>_______________________________________________
kdevelop mailing list
<a href="mailto:kdevelop@kdevelop.org" target="_blank">kdevelop@kdevelop.org</a>
<a href="https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop" target="_blank">https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop</a>
</pre>
    </blockquote>
    <br>
    <br>
  </div>

<br>_______________________________________________<br>
kdevelop mailing list<br>
<a href="mailto:kdevelop@kdevelop.org">kdevelop@kdevelop.org</a><br>
<a href="https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop" target="_blank">https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop</a><br>
<br></blockquote></div><br></div>