[Qt-creator] Some thoughts about 2.5

Jonathan S. Shapiro shap at eros-os.org
Thu May 31 18:48:05 CEST 2012


On Thu, May 31, 2012 at 1:03 AM, <tobias.hunger at nokia.com> wrote:

> Hi Gero!
>
> The "best build system" is a hottly debated topic in the C/C++ world:-)
> There are
> lots of competing ways to do things, each with their benefits and set of
> (mis-)features.
>

It's just that the rest of you do not appreciate the true genius of my
private build system! After I release it for you to see, you will all bow
down! And when you stop laughing yourself sick, you will stand up again.
:-))

Seriously:

Each developer seems to have one or two build systems that they really
like, and others that they can work with. Almost every IDE has a way to
invoke an external build system.

The problem with supporting multiple build systems is to keep the IDE's
view of the project in sync with the build system. When I add a file in the
project browser, that needs to get added to the file (Makefile, CMakefile,
.pro,) used by the build system. For build systems like CMake and QMake,
there are very strong conventions for how to do this. Also for later
versions of Microsoft nmake. I don't know about XCode project files.

Ironically, UNIX make is the hardest one to handle. There are *hundreds* of
different conventions about how to use the makefile variables. Some are
pretty simple. Some (e.g. autoconf) involve a whole lot of poorly
documented variables. Some (the EROS and Coyotos Makefiles) involve a truly
depressing amount of "magic" to get the build to happen correctly.

It would be easy for QtCreator to say "here is how *I* build makefiles, and
I will maintain that convention properly".  It might be manageable to
create a QtCreator plugin that knows the really common conventions (e.g.
autoconf). It is NOT practical for QtCreator to remain synchronized with
makefiles in general.

So the real problem isn't "what is my favorite build system". It is "how do
I keep my IDE synchronized with my build system?"

While there are major limitations in QMake that annoy me, the idea that the
IDE may need to have a very close relationship with the build tool seems to
work well in practice. Given the state of the QMake documentation, I can't
tell yet whether QMake just isn't good enough or whether I don't understand
it well enough.

>From other postings, I understand that there is active discussion about a
future XML-based build system for QtCreator. What list should I join to be
involved in that discussion?



Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qt-creator/attachments/20120531/db2d2c6b/attachment.html>


More information about the Qt-creator mailing list