Boost logo

Boost Interest :

Subject: Re: [Boost-cmake] CMake thoughts
From: Michael Jackson (mike.jackson_at_[hidden])
Date: 2009-06-08 10:16:09


On Jun 8, 2009, at 10:00 AM, Brad King wrote:

> Michael Jackson wrote:
>> What _really_ needs to be done, for BOTH the bjam and the cmake
>> based builds is to produce a "UseBoost.cmake" file akin to the
>> UseQt4, UseVTK, UseITK, UseParaView that are either included with
>> CMake or produced by the build system then installed into the
>> installation location. This way all the user of boost has to
>> include is something like the following:
>> #
>> --------------------------------------------------------------------
>> # Find the Boost Package
>> #
>> --------------------------------------------------------------------
>> FIND_PACKAGE(Boost)
>> IF(Boost_FOUND)
>> # INCLUDE(${USE_Boost_FILE})
>> ELSE()
>> MESSAGE(FATAL_ERROR "Cannot build without Boost. Please set
>> Boost_ROOT.")
>> ENDIF()
>> Inside the USE_Boost_FILE would be all the variables the current
>> FindBoost.cmake has but actually with "solid" ways of finding the
>> libraries, library types, (MT, ST, STATIC, DYNAMIC), versions
>> (1.39.4) and anything else that is needed (include directories,
>> link directories) and all that.
>
> FYI, the "Use-file" approach in CMake land has been superceded by
> CMake package files:
>
> http://www.cmake.org/Wiki/CMake_2.6_Notes#Packages
>
> If Boost were to provide BoostConfig.cmake and
> BoostConfigVersion.cmake
> files in its installation, then 'FindBoost.cmake' will be very simple.
> All problems with platform-specific mangling of library names go away,
> and we won't need to update CMake to know how to find each new Boost
> version.
>
> -Brad

That was what I was after. Obviously I am a bit "behind the times" on
this one.

Thanks for the update. I'll start applying that to some other projects
that I am working on.

Mike Jackson


Boost-cmake list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk