Mon but est de construire une bibliothèque qui inclut des informations de version.bjam - comment toujours exécuter un script shell avant de construire une cible?
J'ai un script qui va mettre à jour ./version.cpp
uniquement lorsque la version a réellement changé. Ceci pour éviter les reconstructions inutiles.
J'ai une cible lib qui englobe *.cpp
, ce qui inclut version.cpp
.
Le problème est que si je cours bjam
je peux le voir exécuter le script, et mettre à jour version.cpp
, mais la bibliothèque n'est pas reconstruite.
Seulement quand je lance bjam
ne plus il voit que version.cpp
a changé, et la reconstruction de la lib
Mon fichier confiture:
Echo [ SHELL "./write_version.sh" ] ;
lib foo
: [ glob *.cpp ]
;
Sortie de course bjam (deux fois):
$ bjam
Updating version.cpp
...found 119 targets...
$ bjam
...found 121 targets...
...updating 3 targets...
gcc.compile.c++ ../foo/bin/gcc-4.8/debug/link-static/version.o
gcc.archive ../foo/bin/gcc-4.8/debug/link-static/libfoo.a
...updated 3 targets...
Question:
Comment puis-je obtenir à la fois le script et la construction de la bibliothèque de travailler ensemble?