[Qt-creator] Some thoughts about 2.5

Konstantin Tokarev annulen at yandex.ru
Thu May 31 06:16:25 CEST 2012



31.05.2012, 08:05, "Geronimo Ma. Hernandez" <geronimo013 at gmx.com>:
> On Wednesday 30 May 2012 - 19:50:53, Vojtech Kral wrote:
>
>>  On 2012-05-30 19:02, Geronimo Ma. Hernandez wrote:
>>>  On Mittwoch 30 Mai 2012, Vojtech Kral wrote:
>>>>  On 2012-05-30 15:37, Geronimo Ma. Hernandez wrote:
>>>>
>>>>  I think you misunderstood, the support is rather done in such a way
>>>>  that the IDE drives an underlying scripted build system rather than
>>>>  making all the compiler and linker calls by itself.
>>>  So what? That's a reasonable implementation detail, that no user ever
>>>  should care about.
>>  The user should definitely care about that, it's their build system
>>  setup, importance of which in C++ I stated earlier.
>
> Well, quite sure, I did not get the point.
>
> If scripting is used to decouple QtCreator from external tools, so its common
> business and an implementation detail, that no user should care about. And no
> user should ever touch that scripts.
>
> If you are right, and the scripts are part of the build system, then my
> understanding of the latter statement was wrong. Than the application does not
> use scripts for decoupling and the user has to care about those scripts for
> sure.
> So where's the difference to drive external tools directly?

In Java world you can build your software on your developer machine once and
run it unmodified on any sufficiently compatible JRE on any OS/architecture.
Even if your build process is F5 key [1] it could be bearable for a long time.

C++ world is different: different platforms or even different releases of one OS
may require recompilation. To simplify handling of platform differences you need
to write build scripts.

In open source world situation is even worse: preferred method of software
distribution os source archive and users or package maintainers should be able
to build and install your software without pain. Without pain means that they don't
need to install your favorite IDE on their systems to built thing. Instead they should
be able to run a couple of commands and get ready to use application.

That completely reverses requirements for build process: you should
1) Design build system of your project meeting all requirements
2) Adopt it for work with your favorite IDE (Qt Creator, NetBeans, Vim, Emacs, etc.)

Qt Creator provides plugins for several known build systems so if you choose one
of them you get less pain on step (2).


[1] http://www.codinghorror.com/blog/2007/10/the-f5-key-is-not-a-build-process.html

-- 
Regards,
Konstantin



More information about the Qt-creator mailing list