Important: Please read the Qt Code of Conduct -

Qmake pre-build step before ANY compilation

  • There are several questions on SO regarding how to create a pre-build step for qmake, I can do that with this in my .pro file: = ../VersionData/versioning.h
    versionTarget.depends = FORCE
    win32: versionTarget.commands = cd $$PWD; python.exe ./ -p $$TARGET
    else: versionTarget.commands = cd $$PWD; python ./ -p $$TARGET

    PRE_TARGETDEPS += ../VersionData/versioning.h
    QMAKE_EXTRA_TARGETS += versionTarget@

    Now, the problem is that this approach is not a build step per se but just another build target, so if I have the -j flag configured for make it runs my script in parallel with the other build jobs. This is very bad, because my script creates/updates a header file - having it change part way through the compilation is not acceptable.

    So, is there anyway I can have this script executed before any compilation is ran? I know I can create another script and call the and qmake in sequence from that, but this is not desirable as I would have to compile from the command line rather than from within Qt Creator.

  • can't you make your main target or all depend on versionTarget.

  • Sorry I forgot to update this question, it was answered over at "SO":

Log in to reply