[CMake] Adding Cmake version in online documentation

Albrecht Schlosser AlbrechtS.fltk at online.de
Sat Nov 12 10:52:49 EST 2016


On 11.11.2016 22:36 Alexander Neundorf wrote:
> On Wednesday 09 November 2016 09:22:24 Nils Gladitz wrote:
> ...
>>
>> Policy warnings are intended to encourage you to switch to new
>> behaviours since the old ones are deprecated.
>> In actively maintained projects they are not meant to be suppressed.
>
>
> I heard that argumentation several times, and still don't agree.
>
> "actively maintained" doesn't automatically mean to always require the newest
> versions of everything, see the mail from Albrecht Schlosser (FLTK) or how
> CMake requirements were handled during the KDE4 era.
>
> To make the software buildable on as many as possible systems, it helps to not
> to require new versions of any needed tools or libraries.
>
> So, Albrecht can absolutely actively maintain FLTK, and at the same time
> decide to require a relatively old cmake version (Ok, 2.6 is ancient).

I absolutely agree. (Surprise, surprise.) ;-)
Thanks for supporting my arguments.

> As long as he doesn't plan to update the required version for cmake, I would
> suppress all policy warnings about new behaviour.
> Is it guaranteed that changing the code so that the warning, which appeared
> e.g. in cmake 3.4, is fixed, still works correctly with the old, required
> version of cmake ?
> I think no.

Particularly not if you set any policy to NEW. I don't think that this 
is a valid setting because it would give different behaviour on older 
(pre-this-new-behaviour/policy version) and later versions.

I can't think of a real usage case of any policy setting to NEW. Unless 
your code is conditional depending on the CMake version.

> Once there is a plan to upgrade the cmake version, the warnings become useful,
> but IMO not before.

Nitpicking: should read "... upgrade the *required* cmake version ...".

This free library case (FLTK) where the public is addressed with the 
least restrictions is different than a (maybe commercial) project where 
you can dictate the required versions and can control the build environment.



More information about the CMake mailing list