[QBS] New item ProductFolder
Joerg Bornemann
joerg.bornemann at digia.com
Mon Jun 3 16:30:46 CEST 2013
On 02/06/2013 16:22, Jochen Becher wrote:
> As I understand QBS is currently not able to provide a similar thing. So
> I started to implement a new Item "ProductFolder" which is a virtual
> folder / group between Project and Product. So one can write:
>
> Project {
> name: "Project Name"
> ProjectFolder {
> name: "Client View"
> Product { name: "My Client" }
> references: "client_library.qbs"
> }
> }
I reckon that Visual Studio has virtual solution folders because it has
this one-level hierarchy "solution -> projects".
Qbs has the same limitation ATM. Wouldn't your issue be solved by adding
the possibility to nest projects?
Project {
name: "foo"
SubProject { // basically a fancy references entry
name: "libs"
displayName: "My Libraries" // not sure if this is needed
filePath: "src/libs/libs.qbs"
}
}
where src/libs/libs.qbs contains a Project item with all the libs which
can be even built stand-alone without the surrounding top-level project.
This looks quite similar to your approach and we need something like
this for Qt anyways (oh and actually for the qbs submodule in Qt Creator
as well).
> One question about an implementation detail: Currently ResolvedProject
> stores a list of ResolvedProduct and a list of ResolvedProjectFolder in
> parallel. Should I remove the ResolvedProduct list and replace it with
> one dummy ResolvedProjectFolder? This would save a few conditional
> expressions in handling project and products (as parent context of
> product will always be a ResolvedProjectFolder) or should I stay with
> both for compatibility reasons (I am not sure if introduction of dummy
> ResolvedProjectFolder may break compatibility to some existing qbs
> scripts).
If you're going the folder road, I'd say use a dummy root folder.
Cheers,
Joerg
More information about the Qbs
mailing list