On Monday 12 January 2009 19:39:55 Krzysztof Kosiński wrote:
The CMake build system doesn't seem to be functional (link failure), so in the meantime I have an improvement to the Automake one.
If you have time I would love help figuring why the link failure happens.
I added a micro-library libinkversion.a that contains only the version string. It is built from a single source file which is generated based on configure.ac $(VERSION) and SVN information (if present), and is only replaced if it changes. This way the About box always has the SVN revision, with only a relink necessary (it would have been necessary anyway in most cases). The version string looks like: 0.46+devel r20503 custom The first part is the version from configure.ac; The second is the SVN revision; the third part "custom" is only present if there are any files modified in the src/ directory with respect to the SVN repository (checked with svn status -q).
Because of the way "svn info" works, the version will be wrong if you compile after commiting all changes (it won't have "custom" added even though it should). Currently I don't know how to handle this, but this shouldn't be a problem as this feature is mainly intended for users and testers. If anyone wants to fix this case, the code is in src/Makefile_insert
Regards, Krzysztof Kosiński
Ok the big issue here is this is not possible for most windows devs without downloading an additional version of svn i.e the command line tools as most windows devs use tortoiseSVN, and it does not contain the command line executable. I'm not against better version info, but doing this breaks the build for non-*nix users. So we need a way to do this on all platforms.dd
For the CMake build this changes what is basically an echo to file to something much more complex.
Joshua L. Blocher verbalshadow