[Qt-creator] CppTools::ProjectInfo project sources and include paths

Daniel Teske Daniel.Teske at theqtcompany.com
Tue Feb 3 15:32:21 CET 2015


On Tuesday 03 Feb 2015 15:29:48 Nikolai Kosjar wrote:
> Hi!
> 
> On Mon, 02. Feb 16:51, Roman Nikiforov wrote:
> > The problem is that if I have conditions in qmake .pro file and some
> > sources and include paths are added only for special configuration, I
> > still
> > get all source files from ProjectInfo, but include paths only for active
> > configuration. Consequently Lint cannot resolve some includes and stops
> > with error.
> 
> At the end of the day, your observation describes what the code model
> needs. All project files are passed in so they can be indexed (as far
> as possible) so that their symbols show up in the locator or e.g.
> "Search Symbols". Providing more include paths than for the current
> build configuration could lead to subtle/unexpected side effects.
> 
> Note that in general you can't just assume that a project is
> "buildable"/"analyzable" for all configuration since e.g. some headers
> are only available on certain platforms. That is, getting all include
> paths wouldn't help you here for the general case. It seems better to
> analyze only the files that are part of the current build
> configuration.
> 
> [For qmake projects:]
> Unfortunately I don't see a way how to find out whether a file is part
> of the current build configuration or not. We get the files via e.g.
> 
>     "pro->variableValue(CppSourceVar)"
> 
> in QmakeProject::updateCppCodeModel() and this seem to contain *all*
> files of the project, independent of the configuration.
> 
> @Daniel: Is there a way to get only the files that are selected by the
> build configuration?
Yes we have that information, we just don't store it anywhere since so far no 
one had any use for it.

daniel



More information about the Qt-creator mailing list