Consider a product that
- depends on Qt.core (which sets cpp.cxxLanguageVersion)
- depends on another module "globals" that sets cpp.cxxLanguageVersion
Module "globals" might be user-provided to set project-global properties as we recommend to do.
Resolving such a product will print a warning:
...because cpp.cxxLanguageVersion is a scalar property, and qbs doesn't know how to resolve the conflict between scalar properties.
Provide a way to resolve conflicts on scalar properties. This could be done like this:
The function resolveConflict either returns a valid value or throws an exception. The default implementation returns the first parameter and prints the warning above.