[Qt-creator] Target refactoring

Tim Sander tim01 at iss.tu-darmstadt.de
Fri Apr 20 21:34:55 CEST 2012


Hi Tobias

That stuff i s.th. I am very happy to see! The generic toolchain stuff of 2.5
is quite usable from a generic toolchain perpective and this seems to add 
better usability.
> To do so I am adding a "Profile", which is basically a collection of
> settings describing one Target. The list of settings can be extended by
> plugins (via ProfileInformation objects). This Profile currently contains:
> * some data like a name, icon, etc.
>  * a system root (from ProjectExplorer plugin)
>  * a tool chain (from ProjectExplorer plugin)
>  * a device (a generalization of the Linux devices we have had for a while,
>    also from the ProjectExplorer plugin)
>  * a Qt version (from the QtSupport plugin)
>  * a mkspec (from the Qt4ProjectManager plugin)
>  * a debugger (from the Debugger plugin)
> 
> The plugins can provide default values for the settings they add, hide the
> setting for a specific profile, and warn about issues they have with any
> given profile (e.g. the tool chain not producing code compatible with the
> Qt version in use).
> 
> Profiles are either auto-detected by Qt Creator (non-editable, but
> cloneable) or manually added (fully editable). Currently we auto-detect
> two kind of profiles: One with all the stuff we can pick up in the path
> and those profiles (eventually) registered by the SDK.
So there is the place to add autodetection stuff for toolchains/build 
environments like ptxdist or open embedded?

> With this you are able to set up separate profiles
>  * for all the different devices you have (using e.g. "Phone 1" and "Phone
> 2" as devices),
>  * for different firmware versions of the same kind of device (using
> different system roots, compilers, mkspecs, etc. and devices),
>  * for different compiler versions on your desktop (different tool chains)
>  * for different Qt versions (different Qt versions, maybe even tool chains
> and mkspecs)
>  * for all kinds of other stuff;-)
Sounds good but it would be nice to have a way to set the default which is 
choosen.

> The basics are there (I just pushed a Work-in-Progress state into gerrit at
> https://codereview.qt-project.org/#change,24049 ).
> 
> Missing pieces are currently
>  * importing builds (currently working on that),
>  * having a way for the SDK to register profiles,
Sounds great :-)
>  * making sure not too many settings are lost when reading configurations
> from existing projects and creator settings,
>  * LOTS AND LOTS OF TESTING. Use at your own risk, you have been warned!
>  * cleaning up the history of this patch-set to make a review possible. The
>    current set of patches in gerrit is basically a straight dump of my work
>    repo! Please look at the total diff, not the individual steps I took to
> get there.
Having never worked with gerrit: Does https://codereview.qt-
project.org/#change,24049 show the whole changes? Looks pretty small on the 
first glimpse.

Best regards
Tim



More information about the Qt-creator mailing list