Issue with parsing of conditionally compiled code or how to force parser to process the code under conditional compilation

Andreas Pakulat apaku at
Mon Jun 25 22:51:35 BST 2012

On Mon, Jun 25, 2012 at 10:44 PM, Eugene Agafonov <e.a.agafonov at>wrote:

> Hi!
> 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.
> 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.
> 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.

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

> Any way, it would be useful to set macro value for parsing  as it is done
> for custom include paths.

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.

If you use some other buildsystem, I'd suggest using the Custom Buildsystem

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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the KDevelop mailing list