On 1/8/24 12:37, Jochen Becher via Qbs wrote:
I havbe a question about qbs syntax. My qbs files look like this:
MyProject.qbs:
Project {
property string installDir: { throw "installDir must be set" }
}
AProject.qbs:
MyProject {
id: solution
installDir: "myfolder"
MyProject {
installDir: solution.installDir + "/mysubfolder"
}
}
My question is about"solution.installDir". Using "project.installDir"
doesn't work. "outer.installDir" or "base.installDir" is also not
allowed or not what I want.
What about "parent.installDir"?
But I am not sure if defining "id" and using it in a subitem like in
QML is really supported. It works and is sometimes but it is not
documented in the qbs manual.
In hindsight, it was a mistake to support QML ids in qbs, because there
are too many contexts in which they do not make sense due to the
syntactic context not matching the semantic one (modules!).
My advice as to when to use them:
- In Probes, because that's how the mechanism officially works.
- In Depends items, if the dependee has an "unfortunate" name (e.g.
with spaces) and you want to set properties on it.
- Nowhere else.
In practice, Project items are probably safe, because there is no
multiplexing of any kind involved.
Christian
_______________________________________________
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs