[Qt-creator] pro file parsing in cumulative mode really necessary?

Tilman Vogel tilman.vogel at web.de
Mon Apr 19 14:18:13 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 19.04.2010 11:48, schrieb Oswald Buddenhagen:
> On Sat, Apr 17, 2010 at 01:39:19AM +0200, ext Tilman Vogel wrote:
> that's because cumulative mode will effectively make SRCDIR = "../src" "../src"
> which will then expand to include("../src ../src/abc/def.pri") which is
> obviously bogus.

Right and I guess, the right thing would be to do the concatting as a
cartesian product, i.e. if SRCDIR = { "../srcA", "../srcB" }, then the
include should get an array as argument { "../srcA/abc/def.pri",
"../srcB/abc/def.pri" } (or rather be called for each of them).

> the "combined parsing" daniel mentioned will solve the particular issue
> that nothing is included at all, but it will miss the other possible
> values of SCRDIR which are not in the current build configuration.
> to make creator-friendly projects, try to avoid such clever constructs.
> instead, make distinct complete include statementes which are executed
> conditionally.

That's unfortunately not always possible if you have other constraints
like different build configurations.

>> OUTPUT=$$replace(INPUT,string,)
>> However, the implementation in profileevaluator.cpp sets OUTPUT to the
>> empty string instead.
>>
> how did you determine that?

using some qDebug() calls in profileevaluator.cpp.

I was using such a replace call to initialize yet
another directory variable ("stripping of some trailing part of the
path") and this not working caused my source files not to be found.

Tilman

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/

iEYEARECAAYFAkvMSgUACgkQ9ZPu6Yae8lkDqgCfQzi6R4p7BHxN8BUz+eSNyAxd
HvEAn1dP59PDAt4dbQ+zwjhvKmalGPte
=zaRH
-----END PGP SIGNATURE-----



More information about the Qt-creator-old mailing list