[QBS] Transformer -> Rule

arturo castro me at arturocastro.net
Fri Sep 9 11:15:53 CEST 2016


Hi

I have a qbs project file that compiles an external library using a
Transformer. it looks something like:


Product{

    Transformer {
        condition: qbs.buildVariant.contains('debug')
        inputs: files
        Artifact {
             filePath: Helpers.normalize(product.libDir +
"/libopenFrameworksDebug.a")
             fileTags: "staticlibrary"
        }
        prepare: {          
            var qbsCmd = new Command("make", ['Debug', '-j4']);
            qbsCmd.description = "building openFrameworks library";
            qbsCmd.workingDirectory = product.projectDir;
            qbsCmd.silent = false;
            qbsCmd.highlight = 'compiler';
            return [qbsCmd];
        }
    }

my applications projects depend on it using:


        Depends{
            name: "openFrameworks"
        }

with the transformer the applications have a dependency with the library
and link to it

i'm trying to change the Transformer into a Rule since qbs tells me it's
going to be deprecated but if i just change Transformer with Rule the
dependency in the applications doesn't work anymore, the library is not
even compiled and not linked. is there something i need to add?

Thanks!





More information about the Qbs mailing list