[Interest] qmake: questions regarding huge projects

Andreas Pakulat apaku at gmx.de
Fri Apr 19 11:46:20 CEST 2013


Hi,

On Fri, Apr 19, 2013 at 10:35 AM, Mandeep Sandhu <
mandeepsandhu.chd at gmail.com> wrote:

>
> On Fri, Apr 19, 2013 at 12:18 PM, Rainer Wiesenfarth <
> Rainer_Wiesenfarth at trimble.com> wrote:
>
>> I would like to ask for some "expert tutorial" or some hints for using
>> qmake with huge projects.
>>
>> What is huge? Our complete package consists of >50 applications build
>> based on >100 libraries (organized in modules and units). On Windows, we
>> use a Visual Studio solution file containing 250 projects, the application
>> projects use "Properties" / "Framework and References" to refer to those
>> libraries needed for this specific application.
>>
>> Now I would like to setup build system on Linux for a part of our
>> package. Currently we use a own Makefile based approach that has some
>> disadvantages. What I would like to have is a solution based on qmake
>> (ideally) that satisfies these conditions:
>>
>> - if an application A depends on a library B, it is sufficient to define
>> this only once ("needs"), not multiple times ("depends on" + "build after"
>> + "link with" + ...)
>>
>
> The "depends" qmake keyword should take care of this.
>

This probably refers to the .depends-extra-flag for SUBDIRS elements. In
addition this only works for Makefile generators, i.e. not with visual
studio according to the documentation. See
http://qt-project.org/doc/qt-4.8/qmake-variable-reference.html#subdirs


>> - build steps run in parallel on multiple cores
>>
>
>
> qmake takes care of this (I think), i.e it'll find out the number of cores
> and supply the relevant number to make's "-j" option.
>

No, qmake does not take care of this as qmake is not a buildsystem itself
(rather a buildsystem generator, it generates Makefiles, VS files etc.).
But of course a user can run make -j3 himself. make does not have any
support for automatic parallel build based on the number of cores.

Andreas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20130419/d26aecbd/attachment.html>


More information about the Interest mailing list