我的目标是建立一个包含版本信息的库。
我有一个脚本,./version.cpp
只有在版本实际更改时才会更新。这是为了防止不必要的重建。
我有一个 glob 的 lib 目标*.cpp
,其中包括version.cpp
.
问题是,如果我运行,bjam
我可以看到它执行脚本和 update version.cpp
,但库没有重建。
只有当我bjam
再次运行时,它才会看到version.cpp
发生了变化,并重建了 lib
我的果酱文件:
Echo [ SHELL "./write_version.sh" ] ;
lib foo
: [ glob *.cpp ]
;
运行 bjam 的输出(两次):
$ 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...
问题:
如何让脚本和库构建一起工作?