On Fri, Apr 19, 2013 at 12:18 PM, Rainer Wiesenfarth < rainer_wiesenfa...@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@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest