[QBS] Preserving independent module-properties when applying rules
Johannes.Matokic at microchip.com
Johannes.Matokic at microchip.com
Fri Feb 21 11:15:14 CET 2014
Hello,
I have a generic preprocessing tool that I use almost everywhere for different purposes.
This preprocessing tool generates the real files that are used in my products.
Now in some products there are files that require different module-properties. Let's assume I want to set cpp.optimization for one file.
Now the input for the preprocessor contains the right cpp.optimization while the preprocessed artifact doesn't have it anymore.
How can I preserve the module-properties without adding specific code for each possible property to the preprocessor module?
Below is an simplified example demonstrating this:
// The MyApp.qbs:
import qbs.base 1.0
Project {
Application {
name: "myapp"
Depends { name: "cpp" }
Depends { name: "preproc" }
files: ["main.cpp.in", "example.h.in"]
Group {
files: ["example.cpp.in"]
cpp.optimization: "none"
}
}
}
// And the preproc/module.qbs:
import qbs.base 1.0
import "helpers.js" as helpers
Module {
FileTagger {
pattern: "*.in"
fileTags: "preproc_in"
}
Rule {
inputs: "preproc_in"
Artifact {
fileName: helpers.resolveName(input)
fileTags: helpers.resolveTags(input)
}
prepare: helpers.preprocCmd(product, inputs, outputs)
}
}
Is it possible to pass the cpp.optimization to the artifact without mentioning it explicitely in the preproc-module?
I want this because there are multiple different modules I use, each with its own independent properties.
Thank you
Johannes
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20140221/8e8af57f/attachment.html>
More information about the Qbs
mailing list