[Qt-creator] User settings file and collaborative work
tobias.hunger at digia.com
Tue Feb 25 11:02:10 CET 2014
On 25.02.2014 09:03, Barbara Post wrote:
> Initially posted to qt-project.org forum, now bringing the subject here,
> thanks to a suggestion.
Yeap, this is a better place to bring up your feature requests.
> Reading this old closed feature request
That one is about creator writing the .user file more often than the
reporter thinks is necessary. I fail to see how that connects to the
rest of your mail.
> I think of basic project situation which I work with right now:
> - I develop a custom Qt plugin
> - I have to copy my dll to a specific folder for execution by a plugins host
That is a task the build system should handle (via "make install" or
similar that should then go into the deploy configuration).
> - I have to run a custom executable to launch this plugins host
> program and use my custom plugin
Yes, it would be nice if we could suggest a custom command to run in
case none is set up for the project yet.
> - An environment variable is used for base path of commands
> configured in build/run settings
Who sets this variable?
> So if anyone else works on project it would be fine that:
> - when reconfiguring project since his/her kit is slightly different from
> mine, all the other things are kept
> (build/run custom commands). I didn't verify what happens
If the kits are identical (incl. the Id, which you can set via the
sdktool only!), then this should work using the .shared files. So let's
concentrate on the case where the kits differ.
Currently we have a kit id in the .user file and nothing else. So there
is no way to know what a kit looked like that somebody else referenced
in a .user file. Adding that information is not of course possible though.
Let's assume we had full information on the kits that were used by the
instance that wrote the .user file. How can we decide which of our kits
are the best match to those found in the .user file?
Which of our kits are "slightly different" (as in we want to copy the
settings from the .user file) and which are "completely different" (as
in we want to forget those settings) compared to those found in a .user
Is a Qt 5.0.0 windows MSVC2012 kit "slightly different" (as in we want
to copy settings) from a desktop Qt 4.8.5 windows MSVC2012 kit?
What about Qt 5.2.1 for blackberry and a Qt 5.2.1 for ubuntu phone kit?
Qt 5.2.1 on the Mac and Qt 5.2.0 on Linux?
Qt 5.2.1 windows MSVC2012 and Qt 5.2.1 windows mingw?
> - timestamp change wouldn't be effective so often, only when there
> are modifications, this would be better when
> working with version control.
Do not check in .user files into your version control system. Use
.shared files for those settings that can be shared. This currently does
*not* include the kits though.
> So my suggestion is to move commands to another file than the user
> settings, surely in a custom syntax in .pro file.
Like the .shared file?
Creator supports several build systems, so I would really appreciate not
mixing our settings into the build system files. We would need to have
several sets of code to put that information into the build systems and
to retrieve it again.
> This way we could
> also have build/run commands way more flexible (use of environment
> variables, not just elimited to sourceDir andbuildDir).
Creator actually does support quite a bit more than that.
> And keep other things in .pro.user that would be safely ignored by
> version control without loosing information.
> This idea came to me immediately after playing with build/run settings,
> I told myself, duh this is not as convenient as in Visual Studio
> (where I daily practice C#).
You are probably right, but this cross-platform thing makes this whole
thing a bit harder. Of course that is no excuse not to do the right
Tobias Hunger, Senior Software Engineer - Digia, Qt
Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Tuula Haataja
Sitz der Gesellschaft: Berlin. USt-IdNr: DE 286 306 868
Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
More information about the Qt-creator