[Qt-creator] Defining project dependencies?
Eike Ziller
eike.ziller at nokia.com
Tue Nov 4 12:09:51 CET 2008
Hi Oliver,
obviously my answer was too short and little helpful, so I'll
elaborate a bit further.
On Nov 3, 2008, at 5:57 PM, ext Oliver.Knoll at comit.ch wrote:
> Eike Ziller wrote on Monday, November 03, 2008 3:21 PM:
>
>> On Nov 3, 2008, at 2:49 PM, ext Oliver.Knoll at comit.ch wrote:
>>
>>> Hi there,
>>>
>>> with great interest I tried the Qt Creator Technical Preview!
>>>
>>> One of the first things I have tried was to setup a Project with
>>> several sub-projects, typically the main application ("Qt 4 Gui
>>> Application") which depends on several "C++ Libraries".
>>> ...
>>> Once the Shared Library has been added besides the other Project I
>>> also don't see any way how I would specify the dependency
>>> afterwards.
>>> ...
>> This seems to got lost from the UI...
>
> Does that imply that it is indeed the goal to have a GUI way of
> specifying Project dependencies and Qt Creator modifies the *.pro
> files in such a way that at least the linker settings are correct
> (and all Projects link properly)?
>
> Concrete: when I have a main Project (executable) and a library
> Project and in Qt Creator GUI I set the dependency from the main to
> the library Project: the library gets compiled first
> and the main Project is linked against that library - and off
> course, handling all other inter-library dependencies that I wish to
> set accordingly, disallowing me to create "dependency circles", e.g.
> by greying out the Projects which already depend on the current
> Project etc. (as in Visual Studio).
>
> Is this what you mean by "This seem to got lost from the UI"?
We have the internals to handle/define dependencies *regarding build
order*. Setting B to be dependent A resulting in A always being
compiled before B. We don't intend to change your pro files to reflect
that dependency automatically (INCLUDEPATHs, LIBS entries). But we
intend to have a pro file editor that helps you setting this up.
Something like a button "Add Library" in the pro file editor.
>>> ... As a side-note: what is the "philosophy" of Qt
>>> Creator? Am I supposed to edit the *.pro files? ...
>> You are supposed to work with pro files directly. We are working on
>> providing a more convenient editor for pro files, but it will still
>> be mostly text-based.
>
> Oh okay... I thought the idea was to have ways to specify
> everything(tm) in the Qt Creator GUI. So I understand the Project
> wizard merely setup a simple *.pro file and from this point on I am
> on my own (in terms of setting additional 3rd-party library
> dependencies, INCLUDE/LIB paths, conditional compiles (the "win32
> {SOURCES +=...}", read: all the nuts and bolts settings QMake has to
> offer), is that correct?
No, and yes :)
We plan to have an editor for pro files that is mainly a text editor,
but has additional "GUI" components, e.g. a button for choosing Qt
modules, adding libraries (LIBS+INCLUDEPATH), adding files, and
probably a few other things. But any changes that these GUI components
do, will be directly apparent in the text editor part of the pro file
editor. And many things you will still do by editing the text directly.
Our experience from e.g. the Eclipse Integration shows that a GUI that
gives you *all* you can and want to do with pro files, is more complex
than editing the pro file by hand, and unusable by both the beginner
and the expert. So we want to get the best out of both by providing
graphical components for common things but being still text editor
based.
> But at least the following features would be nice to be able to do
> in the GUI:
>
> - Possibility to enable/disable Qt modules (QtCore, QtGui, ...)
> - Set DEFINES, INCLUDE and LIBS
>
> I know, this is done just as easy by editing the *.pro file.
>
> And maybe it would be nice to be able to "clone" a given Project, so
> all the relevant settings (except the SOURCES, FORMS and HEADERS off
> course) would be copied. Would make life much easier when creating a
> new Project, given an existing one, so I would not have to edit the
> DEFINES etc. again and again (this idea needs some more thoughtful
> thinking though ;)
>
>> What you can do at the moment is
>> * Setting a "build directory" using the "shadow build" checkbox
>
> Okay, so /that/ is what the "shadow build" is supposed to do ;)
>
--
Eike Ziller
Software Engineer
Nokia, Qt Software
Phone +49 (0)30 6392 3255
Fax +49 (0)30 6392 3256
E-mail eike.ziller at nokia.com
More information about the Qt-creator-old
mailing list