¿Cómo agregar paso previo a la compilation en qmake / qtcreator?

Quiero que la aplicación comstackda tenga el número de confirmación, las sums de comprobación de los files de origen y otras cosas disponibles durante la compilation.

En Makefiles simples me gusta esto:

prog: VERSION source.c gcc -DVERSION=\"$(shell cat VERSION)\" source.c -o prog VERSION: .git git describe > VERSION 

¿Cómo usar algo similar con qmake?

Si fuera a pasar la información de la versión como un file incluido (digamos "version.h") en lugar de un #define, podría agregar lo siguiente a su file qmake

 # Define how to create version.h version.target = version.h version.commands = <PUT_YOUR_COMMANDS_HERE> version.depends = .git QMAKE_EXTRA_TARGETS += version PRE_TARGETDEPS += version.h 

Las primeras 3 líneas indican cómo crear un nuevo object objective llamado "versión" que genera "versión.h". Se realiza ejecutando los commands "<PUT_YOUR_COMMANDS_HERE>". El objective depende de ".git"

El "QMAKE_EXTRA_TARGETS" dice que hay un nuevo objective conocido como "versión".

El "PRE_TARGETDEPS" indica que "version.h" necesita existir antes de que se pueda hacer cualquier otra cosa (lo que obliga a que se realice si no está ya hecho).

Una solución más simple incluso si @jwernemy es una buena manera de resolverlo:

 VERSION = $$system(-git-dir=$PWD/.git <PUT_YOUR_GIT_COMMANDS_HERE>) 
    Intereting Posts