This is what you really need:

http://codepad.org/LVxUvSaF a probe
http://codepad.org/14TUDCor utilitary javascript functions that probe
references. Sorry for code quality ;)

This probe attaches to a HEAD file to make sure params are regenerated each
time it changes.
used in actual project as:

import "../../GitProbe.qbs" as GitProbe

.... later in product....

GitProbe {

    id: gitProbe

    sourceDirectory: project.sourceDirectory

}


cpp.defines:{

    var result =base.concat([

                       "GIT_VERSION=" + "\"" + gitProbe.hash + "\"",

                       "GIT_TAG=" + "\"" + gitProbe.tag + "\"",

                       "GIT_COMMIT_DATE=" + "\"" + gitProbe.commitdate + "\"",

                  ])

    return result

}


and then use these defines directly in code without any generated header.



On Fri, May 26, 2017 at 7:17 PM, Timur Kristóf <[email protected]>
wrote:

> Hi,
>
> What is the correct way to execute a pre-build script with Qbs whose
> output is a dependency to the product being built?
>
> For example, I have a script that generates a C++ header file
> containing the current git revision and the date of the build. This
> header is then included into one of the C++ source files of the
> product. How do I execute this script before compiling the product?
>
> I could try to create a Rule item, but I'm not sure how to make sure
> that the rule is executed before the project is compiled. Or should I
> create a separate Product and make the main Product depend on that?
>
> Thanks in advance!
> Cheers,
> Timur
> _______________________________________________
> Qbs mailing list
> [email protected]
> http://lists.qt-project.org/mailman/listinfo/qbs
>
_______________________________________________
Qbs mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qbs

Reply via email to