[Qbs] Creating many products from a list
oswald.buddenhagen at qt.io
Thu Sep 13 15:40:31 CEST 2018
On Thu, Sep 13, 2018 at 03:05:35PM +0200, resurrection at centrum.cz wrote:
> I have a related question. Is the generic property multiplexing moving
> forward? I remember Jake saying that he would like to have it too but that
> there are some concerns about how it would fill in the current state of
> Qbs (hence the current limitation to those three properties).
no progress, because it's quite some work, with little immediate pay-off
(it will be necessary for a bunch of features i really want, but these
are a little further off).
a precondition for generic multiplexing is fully on-demand property
resolution. that is, you don't have a "resolve properties" phase any
more, but instead start out with a more abstract goal (like, "construct
build graph") and everything gets resolved dynamically as-needed. there
are some challenges on the way here ...
once that is done, the multiplexing itself is conceptually quite easy:
while resolving a property, you record the axes along which its
dependencies are multiplexed; during the first pass you simply use index
zero on every axis, and by that you also create index 0,0,... of that
new property. subsequently, you (repeatedly) resolve the property again,
with the other dep indices, thus creating a fully multiplexed property
in turn. there also needs to be a mechanism to de-multiplex properties,
that is, to treat a particular property as an array with all elements
along a particular axis rather than evaluating the expression multiple
times; you'd use that in aggregator Rules like lipo.
More information about the Qbs