Questions about QMake plugin

Julien Desgats julien.desgats at gmail.com
Thu Feb 24 19:12:09 UTC 2011


Hi, thanks for your answer.
2011/2/23 Andreas Pakulat <apaku at gmx.de>:
> On 23.02.11 20:52:41, Julien Desgats wrote:
>> Hey all,
>>
>> I'm currently working on QMake plugin, more precisely shadow build
>> support. So far I managed to implement a dialog window, similar to
>> cmake one and the support for multiple build places.
>>
>> But some test on large projects using QMake advanced features (mainly
>> QtCreator) shown some problems :
>>   * Some directories in  source are not in recreated in build
>> directory and marked as buildable by KDevelop (for example, "doc"
>> folder in QtCreator)
>
> Creating directories in the builddir is not the job of the qmake plugin.
> The qmake plugin should only create the builddir and run qmake in it.
> Buildfolders (those with the small tool on the folder icon) should be
> all those that have a .pro file in the source tree.
This is what I do already, but sometimes source and build trees does not match
>
> And yes, the qmake plugin probably misses support for some of the
> advanced qmake features (as explained in
> http://www.qtcentre.org/wiki/index.php?title=Undocumented_qmake)
I will take a look at this.
>
>>   * Most of identified targets are not targets in generated Makefiles,
>> so when you try to build them with 'make <target name>', you got an
>> error message
>
> This should probably be solved by not blindly forwarding build()
> requests from the qmake builder to the makebuilder. Maybe there's a way
> to find the correct make target given a qmake target name (from the .pro
> file).
>
>> Since I'm quite inexperienced with advanced QMake features, do you
>> have any clue to what I shold looking for solve these problems ?
>> (particularly how to make more than 1 target per directory, and how
>> this is translated on final Makefile)
>
> Look at the generated Makefile and try to understand what it does, I
> don't think they're that complex. You should be able to find the actual
> executable/library that is being created and from that you can get the
> makefile target. As far as the advanced qmake features go, there's the
> above mentioned website, the qmake manual and if both fail the source.
> Its not that much source code if you ignore the actual generators, most
> of qmake's logic is in qmake's language anyway (i.e. the mkspecs).
Again, I definitely need to take a look at the source, to understand
more clearly qmake internals.
>
> I don't actually know the current state of the code wrt. evaluating the
> actual value of variables in particular when scopes and function calls
> are invoked, so I can't really give you a hint how to properly implement
> some of the advanced features.
>
> Andreas
>
> --
> Perfect day for scrubbing the floor and other exciting things.
>
> --
> KDevelop-devel mailing list
> KDevelop-devel at kdevelop.org
> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>

And btw, I just made the review requests for the work we made so far,
any feedbacks are welcome :
https://git.reviewboard.kde.org/r/100734/
https://git.reviewboard.kde.org/r/100732/




More information about the KDevelop-devel mailing list