extra-cmake-modules: ECM_VERSION() macro

Alexander Neundorf neundorf at kde.org
Sun Dec 11 16:21:21 UTC 2011


On Wednesday 30 November 2011, Alexander Neundorf wrote:
> On Wednesday 30 November 2011, Alexander Neundorf wrote:
> > On Wednesday 30 November 2011, Stephen Kelly wrote:
> > > Alexander Neundorf wrote:
> > > > Hi,
> > > > 
> > > > in extra-cmake-modules we have a file ECMVersion.cmake, which
> > > > contains a macro ecm_version().
> > > > 
> > > > This macro is not documented, and "ecm_version()" is not a good name
> > > > for a function (or macro), since it doesn't contain a verb.
> > > > 
> > > > How is this macro intended to be used ?
> > > > Is it intended to be "public" or is it used only internally ?
> > > > 
> > > > We have to be careful, once we ship a release we must keep
> > > > compatibility.
> > > > 
> > > > Alex
> > > 
> > > Each framework uses it in the frameworks branch. The idea is to have a
> > > compact way to set the version which could be updated by scripty (as
> > > there may be many more places where the version needs to be updated on
> > > release)
> > 
> > Can you please add documentation to it ?
> > How about changing the name to ecm_declare_version_variables() or
> > something like that ?
> > ecm_declare_version(), ecm_set_version_variables(), ...
> > It really should have a verb in it.
> 
> How about
> ecm_set_version_variables( [PREFIX prefix] VERSION x y z) ?

I added a

ecm_set_version_variables( <prefix> <major> <minor> <patch>)

to extra-cmake-modules, including documentation.
As prefix a project-specific prefix should be used, e.g. in kio "KIO" would be 
a good choice, which would give KIO_VERSION_MAJOR etc.

If we agree on this, I'll put a deprecation message in ECMVersion.cmake and 
remove it new year or so.

Some doubts I still have:
* we set FOO_VERSION_MAJOR, while cmake defines for itself 
CMAKE_MAJOR_VERSION, i.e. just the other way round.

* the prefix could be made optional, and if none is given, the name of the 
current project would be used, i.e. if no name has been set 
PROJECT_MAJOR_VERSION etc.

Comments ?

Alex


More information about the Kde-buildsystem mailing list