[Qt-creator] Some thoughts about 2.5

eike.ziller at nokia.com eike.ziller at nokia.com
Thu May 31 10:42:13 CEST 2012

> On Dienstag 29 Mai 2012, eike.ziller at nokia.com wrote:
> > On 29 May 2012, at 15:08, ext Geronimo Ma. Hernandez wrote:
> > > On Dienstag 29 Mai 2012, eike.ziller at nokia.com wrote:
> > >> On 27 May 2012, at 06:14, ext Geronimo Ma. Hernandez wrote:
> > > Ok - please lets take for granted, that I don't have any special interest
> > > in cmake or any other build system. Its completely beyond my focus. The
> > > only thing I want, is an ide, that is able to import existing projects
> > > (even from other build systems) and handle the tasks necessary during
> > > development process - and for so: handle the build-task for me.

> > The decision had been made long ago that we don't want Qt Creator to
> > actually perform a build. So we always rely on an underlying build system.
> Don't know, whether I do understand what you like to say.
> You don't want QtCreator perform a build, but you spent build an entry at main 
> menu level?

In that sense Qt Creator handles the build task for you. By calling whatever build tools you want to use.
For most build systems Qt Creator atm doesn't handle the "project/build management" task for you though
(e.g. telling the build system which files to handle with what flags etc).
For qmake it does that to a very limited degree (adding/removing files).

> To me "perform a build" means do anything necessary to compile and link the
> sources / the project. QtCreator does exactly that.

It delegates that task to a build system.

With "actually perform a build" I meant things like:
* Prerequisite scanning (is libFoo installed or should the code path be used that doesn't use it)
* Dependency tracking (which files need to be recompiled)
* Figuring out which compiler/generator and compile/link flags to use for some file
* Calling compiler, linker and special code generation tools (moc, <nameyourfavoritegenerator>)
* Deploy/install various other kinds of resources (image files, translation files,...)
* All the other pretty complicated stuff C++ build systems do

If you work on a project that uses build system X, Qt Creator will not relieve you from learning
this build system (and/or its tools).

> It offers all major tags, that are expected by a decent build system.

I don't know what you mean with that.

> So what means, you don't want QtCreator perform a build.
> Do you plan to caponize QtCreator and force the user to execute commandline
> tools?

You realize that you didn't understand what I mean, which is fine, I can always try to explain.
So, good would have been if you just had stopped here, instead of ranting (http://en.wiktionary.org/wiki/rant)
about one wild interpretation of yours.

> So what does the first letter of IDE means?
> or isn't QtCreator an IDE?
> QtCreator is on the way to become the best C++ IDE out there. I would be very 
> sad, if you reduce QtCreator to become just an editor.
> Then I have no reason to continue using it.
> > But the Java world tends to be pretty simple compared to the C/C++ world, so
> > you'll need to edit the result heavily in all except the most trivial cases.
> > A C/C++ project has most probably *not* been written in a way that makes
> > that kind of importing possible.
> Hm, from my point of view - you already past the biggest challenge. What can 
> be harder than parse C/C++?

We haven't mastered it yet: 

> I don't think that any build-system is as complex as C/C++ sources could be.

That just emphasizes that you don't know cmake, hehe.

> Why not be pragmatic like at gdb-front:
> For example:
> It's no issue to collect all sources and headers down a certain tree. Combine 
> each entry with a checked checkbox and offer that dialog to the user for 
> import.
> Most would be very happy having just an import like that.

"qmake -project" or "qtpromaker" + edit the build files, as stated

> If you then (additionally) read the build-system files, you already understand 
> and support for creation, the IDE-benefit would rise a lot.

The only build system files Qt Creator currently knows how to parse are qmake's files.
Anyhow, is it the responsibility of an IDE to provide transition paths from build system X to build system Y,
or is it the responsibility of the creators of build system X and build system Y?

> > Ctrl+Shift+C is bound to running semantic qml checks which is a global
> > action that is always enabled, while F3 is bound to "Find Next" which is
> > only enabled if you have searched for something. 
> May be its possible to improve the shortcut-dialog that way, that the user 
> understands when a shortcut is used and where conflicts circumvent their usage.

I'm pretty sure it is possible to improve the shortcut dialog.

Br, Eike

Eike Ziller
Principal Software Engineer

Nokia, Qt Development Frameworks

Nokia gate5 GmbH
Firmensitz: Invalidenstr. 117, 10115 Berlin, Germany
Registergericht: Amtsgericht Charlottenburg, Berlin: HRB 106443 B
Umsatzsteueridentifikationsnummer: DE 812 845 193
Geschäftsführer: Dr. Michael Halbherr, Karim Tähtivuori

More information about the Qt-creator mailing list