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>