Yes, the files that reference the defines in their body are rebuilt. This mechanism is what I use to inject git information into our app and so far it worked properly.
On Sat, May 27, 2017 at 6:56 AM, André Somers <[email protected]> wrote: > > > Op 26/05/2017 om 18:46 schreef NIkolai Marchenko: > > 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. > > Does that actually rebuild the files where these variables are used when > building? If not, then it is a bit useless. > > André > > > 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 > [email protected]http://lists.qt-project.org/mailman/listinfo/qbs > > > > _______________________________________________ > 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
