[QBS] How can a QBS Build Rule use a product?
Joerg Bornemann
joerg.bornemann at digia.com
Wed Jun 19 18:13:28 CEST 2013
On 19/06/2013 16:29, Johannes.Matokic at microchip.com wrote:
> So far the tests work well. However one project makes heavy use of preprocessing with a tool that is built as a part of the project. So far I haven't found a way to achieve this in QBS.
It's already possible. I've attached a full example.
The project file now looks like this:
--snip--
Application {
name: "my_tool"
files: "my_tool.cpp"
Depends { name: "cpp" }
}
Application {
name: "my_app"
Group {
files: 'main.cpp.in'
fileTags: ['cpp_in']
}
Depends { name: "cpp" }
// we need this dependency to make sure that my_tool exists before
building my_app
Depends { name: "my_tool" }
Rule {
inputs: ["cpp_in"]
usings: ["application"] // dependent "application"
products appear in inputs
Artifact {
fileName: input.completeBaseName
fileTags: "cpp"
}
prepare: {
// inputs["application"] is a list of "application" products
var mytool = inputs["application"][0].fileName;
var cmd = new Command(mytool,
[inputs["cpp_in"][0].fileName, output.fileName]);
cmd.description = "Generate\t" + input.baseName;
cmd.highlight = "codegen";
return cmd;
}
}
}
--snap--
Cheers,
Joerg
--
Joerg Bornemann
Digia, Qt
http://qt.digia.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tooldep.zip
Type: application/x-zip-compressed
Size: 940 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20130619/c85af0d8/attachment.bin>
More information about the Qbs
mailing list