FindBoost.cmake (Was: kdesupport-for-4.2 cmake error)
Andreas Pakulat
apaku at gmx.de
Sun Jan 18 11:28:36 CET 2009
On 18.01.09 02:22:30, Pau Garcia i Quiles wrote:
> On Sun, Jan 18, 2009 at 2:09 AM, Allen Winter <winter at kde.org> wrote:
> > On Saturday 17 January 2009 7:51:44 pm Pau Garcia i Quiles wrote:
> >> Hello,
> >>
> >> FindBoost.cmake in that version of kdesupport and in CMake 2.6.2 does
> >> not support Boost 1.37.0. You need to replace this line:
> >>
> >> SET( _boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS} "1.36.1"
> >> "1.36.0" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0" "1.34" "1.33.1"
> >> "1.33.0" "1.33" )
> >>
> >> with
> >>
> >> SET( _boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS} "1.37.0"
> >> "1.36.1" "1.36.0" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0" "1.34"
> >> "1.33.1" "1.33.0" "1.33" )
> >>
> > This is quite silly.
>
> I fully agree but that's the way FindBoost.cmake is implemented in
> CMake and several places in the KDE repository.
>
> Parsing boost/version.hpp seems like the right way to do version
> detection. From Boost 1.35.0 :
But how do you find that _easily_? Boost installs its headers into
<prefix>/include/boost-<version>/boost/, so we need the version to try to find
boost. The only way to avoid that is writing platform specific cmake code
that iterates for <includedir>/boost-* and checks in each one for a
boost/version.hpp. This would be quite a bit more code, as <includedir> is
different on each of the 3 major platforms.
IMNSHO we should either get Boost people to stop this insanity or just
better document that projects using FindBoost should set
Boost_ADDITIONAL_VERSIONS to a list of versions they know their project
builds with.
Andreas
--
You're a card which will have to be dealt with.
More information about the Kde-buildsystem
mailing list