Hi John,
I'm currently using Boost Build v1 for some of my projects. I must say, it's significantly better than Makefiles. Overall, I'm quite pleased, though it took a little while to learn.
I haven't been able to figure out one thing, though. How to generate custom built targets. Basically, I want to auto-generate a C++ source file so that I can keep track of version information.
I have a python script that determines the version information from various sources (such as the revision control system [arch]), and I would like it to be run before my library is built.
If I was using a makefile I would do something like this:
.PHONY: version.cpp
version.cpp: generate_version.py version ./generate_version.py
This would cause version.cpp to be generated fresh each time the build process was called. However, I don't really need the ".PHONY", it would be okay if it was only created whenever one of the other files changed.
You mean, it's OK to rebuild version.cpp only if either 'generate_version.py' or 'version' change? In Boost.Build *V2* this can be done with: exe a : a.cpp version.cpp ; make version.cpp : script.py version : $(__name__).update-version ; actions update-version { $(>[1]) -o $(<) $(>[2]) } For V1, I think you'd need to create a new main target rule and I have no idea how hard is it.
Thanks, John =:->
PS> Is there a better mailing list for this?
Yea, jamboost@yahoogroups.com, see http://boost.org/more/mailing_lists.htm#projects - Volodya