[geos-devel] [GEOS] #556: Build error using cmake: ../geos_svn_revision.h: No such file or directory

Mateusz Loskot mateusz at loskot.net
Mon Jun 25 13:27:58 PDT 2012


On 25 June 2012 16:34, Mateusz Loskot <mateusz at loskot.net> wrote:
> On 25 June 2012 15:08, Sandro Santilli <strk at keybit.net> wrote:
>>
>> It's very weak to depend on the discipline of the builder to always run ./configure (or cmake)
>> after each and every SVN update, so the result would often be an outdated
>> revision string in reported issues.
>
> On the contrary, depending on the ./configure is actually the strength
> of the solution.
> Every svn update should be followed by ./configure, then make,
> and skipping ./configure after svn update should not be supported whatsoever.
> [...]

Sandro,

You may find this thread interesting:

http://lists.gnu.org/archive/html/automake/2009-05/msg00145.html

The GraphicsMagick's version.sh is interesting solution.

Simply, there are two cases where version info is used/generated:

1) Static version info stored currently in multiple places
(./configure, nmake.opt, CMakeLists.txt)
What about having such 'static' version info stored in plain text file
e.g. VERSION with number per line.

Then, this file could be parsed by ./configure, by cmake script and
even by NMAKE stuff too
so the general version info is consistent across all build configurations.

2) Volatile VCS-based version
In case of SVN/Git revision, version.sh could do this job as well for
./configure (see GraphicsMagick),
and native CMake scripting/modules could be used for CMake configuration.
For NMAKE, there could be simple .bat script.

Best regards,
-- 
Mateusz Loskot, http://mateusz.loskot.net


More information about the geos-devel mailing list