[Development] CMake Workshop Summary

Croitor Alexandru placinta at gmail.com
Thu Feb 21 00:27:50 CET 2019


This is why for Qt For Python, we've opted to make a superproject that
doesn't use ExternalProejct, but rather uses add_subdirectory on each
subproject. The advantage is that you can open the superproject
CMakeLists.txt directly in Qt Creator, and get code completion and all the
goodies for the whole project. And users can still choose to build each
subproject separately (or rather that's what the CI does at the moment_.
I don't know whether that would be feasible for qt5 though, given there are
a lot more subprojects and files and targets. I'm mainly concerned with the
performance aspect of it.

On Wed, Feb 20, 2019 at 10:36 PM Matthew Woehlke <mwoehlke.floss at gmail.com>
wrote:

> On 13/02/2019 05.06, Simon Hausmann wrote:
> > We briefly discussed the topic and it's my understanding that an
> agreement exists to support two types of builds:
> >
> >     (1) Build a repo, install it, build the next repo, install it, etc.
> >     (2) Have a super-project that allows building all of Qt with one
> call to "cmake", a call to "cmake --build" and finally "$maketool install".
> >
> > The latter has not been "developed" yet but I think it's necessary to
> allow for a convenient transition for the users of Qt.
>
> For (2), you might want to consider a "superbuild", i.e. a separate
> CMake project that just builds a bunch of external projects┬╣, each of
> which is a Qt module.
>
> Some advantages over a simple script or Makefile are that users can
> select what modules they want, and you could probably set it up so that
> users can choose what version of Qt they want to build (e.g. LTS, latest
> release, dev, ...).
>
> The major disadvantage of "superbuilds" is they tend to be not-great for
> people actually hacking on the code.
>
> (┬╣ https://cmake.org/cmake/help/latest/module/ExternalProject.html)
>
> --
> Matthew
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20190221/4a4ddeec/attachment.html>


More information about the Development mailing list