Replacing obsolete ecm_version() with ecm_set_version_variables()

Stephen Kelly steveire at gmail.com
Thu Apr 19 21:04:02 UTC 2012


Alexander Neundorf wrote:

> Hi,
> 
> extra-cmake-modules has the macro ecm_version(), which is deprecated and
> should not be used.
> It is undocumented, as a function name "ecm_version()" is bad (e.g. it
> doesn't contain a verb) and as a user it is very unexpected to me why I
> should use a variable named "ECM_VERSION_MAJOR" for my own project, since
> such a variable in general contains the version number of the package
> "ECM", and not something specific for my project.
> 
> Now, the CMakeLists.txt in the frameworks branch contain:
> 
> # -- Maintained by scripty
> ecm_version(5 0 0)
> # --
> 
> 
> This should be replaced with
> 
> ecm_set_version_variables(KWidgets 5 0 0)
> 
> which will result in the variables
>  KWidgets_VERSION_MAJOR
>  KWidgets_VERSION_MINOR
>  KWidgets_VERSION_PATCH
>  KWidgets_SOVERSION
>  KWidgets_VERSION_STRING
> 
> being set.
> 
> Can somebody have a look at that, or would this be something for the kf5
> day ?

We can look into that. The reason I haven't already done it is that I wanted 
to re-think/re-design how frameworks are built, and ECMQtFramework etc, and 
I'd like to have a more complete plan before we go and start changing things 
in all the places they appear already.

Do you think we can plan that out first? Until we have a more complete plan, 
changing from one API call to another doesn't really add value yet (eg, we 
could just as easily get the name from the CMAKE_PROJECT_NAME, which we do 
similarly for other things already).

> Does scripty have to be updated ?
> How is that done ? (I have never done that).

So far scripty doesn't actually run and update that, but that is how I 
envisioned us keeping the version numbering in check, so you don't need to 
worry about updating script for this.

Thanks,

Steve.





More information about the Kde-frameworks-devel mailing list