<br><br><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">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>