[Interest] qmake: questions regarding huge projects

Mandeep Sandhu mandeepsandhu.chd at gmail.com
Fri Apr 19 10:35:49 CEST 2013


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.


> - if I build a single application, only those libraries are build that are
> needed for this application
>

The single application's pro file should have all the libs it depends on,
listed in the "depends" variable.


> - if the whole package is build, each library is ideally built only once
>

The whole package's pro file can contain subprojects. Subprojects can be
pointed to by the SUBDIRs qmake template. So building the complete project
then comes down to individually building these sub-projects. In order to
ensure libraries are not re-built multiple times (libs can be built
directly as they'll be part of the SUBDIRs OR they can be built because of
a dependency), have a common "build" dir where the generated object files
for all the sub-projects are kept. Make would take care then of not
building the libs again if they're already built.


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

HTH,
-mandeep


> Could anyone of you point me to examples or docs that might help me to
> find this solution?
>
> Best Regards / Mit freundlichen Grüßen
> Rainer Wiesenfarth
>
> --
> Software Engineer | Trimble Imaging Division
> Rotebühlstraße 81 | 70178 Stuttgart | Germany
> Office +49 711 22881 0 | Fax +49 711 22881 11
> http://www.trimble.com/**imaging/ <http://www.trimble.com/imaging/> |
> http://www.inpho.de/
>
> Trimble Germany GmbH, Am Prime Parc 11, 65479 Raunheim
> Eingetragen beim Amtsgericht Darmstadt unter HRB 83893,
> Geschäftsführer: Dr. Frank Heimberg, Hans-Jürgen Gebauer
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20130419/a0ac23eb/attachment.html>


More information about the Interest mailing list