Details
Description
Consider this simple product:
import qbs Product { property bool isBlubbOS: qbs.targetOS.contains("blubb-OS") profiles: isBlubbOS ? ["blubb-profile"] : [project.profile] qbs.architecture: "blubb-arch" }
Now try to build it and stare in disbelief at the qbs output:
test-product.qbs:4 TypeError: Result of expression 'qbs.targetOS' [undefined] is not an object.
Note 1: Instead of qbs.architecture, you can use any other qbs property.
Note 2: You cannot use properties of other modules. If you e.g. add a cpp dependency and set cpp.toolchain instead of qbs.architecture, the error will not occur.
Note 3: If you use the qbs property in a group instead of the product level, the error will also not appear.
Preliminary conclusion: Something is wrong with attaching the base module in the case of profile multiplexing (even if we "multiplex" to a single profile).