Qbs >= 1.8 new 属性 覆盖模块的语法失败
Qbs >= 1.8 new property override syntax fails for modules
我有一个产品为 myproduct
的应用程序,具体取决于自定义模块 mymodule
:
// myproduct.qbs
Product {
name: "myproduct"
Depends { name: "mymodule" }
}
// mymodule.qbs
Module {
name: "mymodule"
property string value: ""
validate: { if (value == "") throw "mymodule.value is not set!" }
}
对于 Qbs 1.7 及更低版本,我可以使用以下语法在外部设置此 属性:
qbs ... mymodule.value:"somevalue"
并且它按预期工作。对于 qbs 1.8 和更新版本,此操作失败并显示错误:
Property override key 'mymodule.value' not understood.
Please use one of the following:
projects.<project-name>.<property-name>:value
products.<product-name>.<property-name>:value
modules.<module-name>.<property-name>:value
products.<product-name>.<module-name>.<property-name>:value
但这些都不起作用(属性 值保持不变):
qbs ... modules.mymodule.value:"somevalue"
qbs ... products.myproduct.mymodule.value:"somevalue"
我错过了什么?或者这是一个 qbs 错误?
P.S。它按预期工作 project.someproperty:"..."
你的例子对我来说效果很好。我建议您在 bugreports.qt.io 提交错误报告并附上 完整 示例项目。然后我们可以弄清楚那里的问题是什么。
我有一个产品为 myproduct
的应用程序,具体取决于自定义模块 mymodule
:
// myproduct.qbs
Product {
name: "myproduct"
Depends { name: "mymodule" }
}
// mymodule.qbs
Module {
name: "mymodule"
property string value: ""
validate: { if (value == "") throw "mymodule.value is not set!" }
}
对于 Qbs 1.7 及更低版本,我可以使用以下语法在外部设置此 属性:
qbs ... mymodule.value:"somevalue"
并且它按预期工作。对于 qbs 1.8 和更新版本,此操作失败并显示错误:
Property override key 'mymodule.value' not understood.
Please use one of the following:
projects.<project-name>.<property-name>:value
products.<product-name>.<property-name>:value
modules.<module-name>.<property-name>:value
products.<product-name>.<module-name>.<property-name>:value
但这些都不起作用(属性 值保持不变):
qbs ... modules.mymodule.value:"somevalue"
qbs ... products.myproduct.mymodule.value:"somevalue"
我错过了什么?或者这是一个 qbs 错误?
P.S。它按预期工作 project.someproperty:"..."
你的例子对我来说效果很好。我建议您在 bugreports.qt.io 提交错误报告并附上 完整 示例项目。然后我们可以弄清楚那里的问题是什么。