我过去常常使用Makefile,但我当前的项目使用.qbs
个文件。如何在不创建或需要文件的情况下通过qbs运行简单的终端命令?类似于make中的虚假规则。
以下作品和节目" awesome"在我的终端。
import qbs 1.0
Project {
name: "cli"
Product {
name: "helloworld"
type: "application"
files: "TEST.c"
Depends { name: "cpp" }
}
Product {
type: ["custom-image"]
Depends { name: "helloworld" }
Rule {
inputsFromDependencies: ["application"]
Artifact {
fileTags: ["custom-image"]
}
prepare: {
var cmd = new Command("echo", "awesome")
return cmd
}
}
}
}
但是我必须在每次运行之前触摸我的虚拟TEST.c
文件。没有helloworld
依赖关系,规则就不会运行。
有什么想法吗?非常感谢你!
答案 0 :(得分:0)
它被隐藏在一个非常不明显的地方的文档中,并被Command进一步模糊(这不是正确的方法,哈哈)。我也有你的问题。
答案 1 :(得分:0)
我不确定您的最终目标是什么,但您可以使用Transformer{}
代替Rule{}
。 Rule{}
和Transformer{}
之间的最大区别在于您不需要输入Transformer{}
的任何输入。
另见Transformer.alwaysRun
属性。