On 22/11/2017 11:17 PM, Christian Kandeler wrote:
On Wed, 22 Nov 2017 17:42:23 +1300 Christian Gagneraud
<[email protected]> wrote:

I could maybe use a custom Rule item, one that "transform" every
.cpp file into, say a .clazy file (output of clazy on the .cpp
file).

The interesting question here is how to get at the fully expanded
command lines without code duplication. This code is in the compiler
rules of the cpp module; that's why it appears that there needs to be
some tight integration with that module.

The clang db plugin can do exactly that [1], so what about:

jobqueue.start()
for each project
 for each product
   for each group
     for each source
       command= userCommand(project.ruleCommands(product, source))
       jobqueue.append(makeJob(command))

jobqueue.wait()
...

Or something along these lines, i am not familiar with Qbs internals.

However, clazy for example
is really just a compiler, so you can use it already today by simply
setting cpp.compilerName to "clazy".

OK, clazy might not be the best example, let's consider clang-check or clang-tidy then or any other (custom) clang-based tool not designed to be run this way.

Chris

[1] https://github.com/qbs/qbs/blob/master/src/plugins/generator/clangcompilationdb/clangcompilationdbgenerator.cpp#L70
_______________________________________________
Qbs mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qbs

Reply via email to