Priority: Not Evaluated
Affects Version/s: None
Fix Version/s: None
Component/s: Language Syntax & Semantics
Product multiplexing is currently enabled and configured via module properties in the qbs module. Unfortunately this comes with restrictions:
- multiplexed properties are static and pollute the qbs module
- early evaluation of the qbs module complicates the implementation of module loader
Proposal: Introduce a language item to control multiplexing
- allow multiplexing of arbitrary product properties
- allow multiplexing of arbitrary module properties
- allow profile multiplexing
- allow products to be multiplexed by multiple matrices
How to match multiplexed dependencies is a different topic and should be handled separately, refer to QBS-995 for instance.
Suggestion, syntax similar to Properties or Profile item
The complexity grows from outer to inner. This is debatable, but it makes it very easy and elegant to define multiple matrices with a shared axis.
Structure: Multiplex wraps products:
Structure: Multiplex in Product like Properties item:
Structure: Matrix on the same level as Product items:
Question: Would it make sense to let this item multiplex any other item?