removing Eigen from kdesupport?

Benoit Jacob jacob.benoit.1 at gmail.com
Wed Jun 24 03:11:02 BST 2009


2009/6/23 Alexander Neundorf <neundorf at kde.org>:
> On Tuesday 23 June 2009, Benoit Jacob wrote:
> ...
>> I've updated FindEigen2.cmake and the CMakeLists everywhere to require
>> Eigen >= 2.0.3 and no longer point to kdesupport.
>>
>> As requested by Tom on kde-devel, I leave eigen in kdesupport until
>> the branching of KDE 4.3.
>>
>> The version in kdesupport is 2.0.51, so it passes the check >= 2.0.3,
>> it is possible to build KDE 4.3 with it, but still, the recommended
>> version to use for everybody is 2.0.3.
>>
>> > People installing eigen for the first time should use the 2.0.3 release
>> > even if it's not packaged by the distro yet, no?
>>
>> Yes, everybody should use 2.0.3.
>
> Just two comments:
> -please document the EIGEN2_MIN_VERSION variable at the top of the file

Solved by removing this variable and using the native
Eigen2_FIND_VERSION instead (it was exactly the same thing).
(For now only in kdelibs)

> -Why 2.0.3 as default and not e.g. 2.0.0 ? I would suggest to set the default
> of EIGEN2_MIN_VERSION to a version number which is always ok,

The default as set in FindEigen2.cmake, if no version argument is
provided, is already 2.0.0. From
kdelibs/cmake/modules/FindEigen2.cmake:

if(NOT Eigen2_FIND_VERSION)
  if(NOT Eigen2_FIND_VERSION_MAJOR)
    set(Eigen2_FIND_VERSION_MAJOR 2)
  endif(NOT Eigen2_FIND_VERSION_MAJOR)
  if(NOT Eigen2_FIND_VERSION_MINOR)
    set(Eigen2_FIND_VERSION_MINOR 0)
  endif(NOT Eigen2_FIND_VERSION_MINOR)
  if(NOT Eigen2_FIND_VERSION_PATCH)
    set(Eigen2_FIND_VERSION_PATCH 0)
  endif(NOT Eigen2_FIND_VERSION_PATCH)


So if I understand well, your question is rather, why do we specify
2.0.3 as minimum version for Eigen as in:

   find_package(Eigen2 2.0.3)

?

The answer, then, is that 2.0.3 is not just a bugfix release, it
contains a backporting of features needed by kdeedu/step. So at least
Step requires 2.0.3. Then I thought that for good measure I could bump
the version requirement everywhere. But if you're not OK with this, I
can revert (except in KDEEdu).

> since the file
> before your patch was ok with any version it found. If we change
> FindEigen2.cmake so that it now fails because of the version, this is a
> source incompatible change (because now a package which doesn't need the
> newer version will not build anymore because FindEigen2.cmake now fails,
> although it wouldn't have to). If that's the case, we really should not do
> that.

I'm sorry, if what I wrote above doesn't address your concerns, then
I'll have to ask you to explain me again the problem, because I don't
really understand :/

OTOH tell me when your concerns are adressed so that i can update the
other copies of FindEigen2.cmake.

Cheers,
Benoit




More information about the kde-core-devel mailing list