Philip, I guess I was not very clear in my previous email. But here is my proposed change:
@@ -322,8 +322,14 @@ if(Boost_VERSION AND Boost_FIND_COMPONENTS) math(EXPR _boost_maj "${Boost_VERSION} / 100000") math(EXPR _boost_min "${Boost_VERSION} / 100 % 1000") - if(${_boost_maj}.${_boost_min} VERSION_LESS 1.35) - list(REMOVE_ITEM Boost_FIND_COMPONENTS system) + if(${_boost_maj}.${_boost_min} VERSION_GREATER 1.34) + # when use asked for filesystem or wave, automatically add + # system to the list of components + list(FIND Boost_FIND_COMPONENTS filesystem v1) + list(FIND Boost_FIND_COMPONENTS wave v2) + if(v1 OR v2) + list(APPEND Boost_FIND_COMPONENTS system) + endif(v1 OR v2) endif() endif() Therefore calling FIND_PACKAGE ( Boost COMPONENTS filesystem REQUIRED) will work on boost 1.34 and boost > 1.34 Comments ? On Tue, Nov 3, 2009 at 3:20 PM, Mathieu Malaterre <mathieu.malate...@gmail.com> wrote: > The way I see it to address is that 'system' is an internal details > (AFAIK). It should be automatically pulled in for filesystem and wave > (for boost > 1.34), instead of the contrary (removing system when > using boost 1.34). > So this means I will be breaking the interface... > > Comments anyone ? > > On Tue, Nov 3, 2009 at 3:14 PM, Philip Lowman <phi...@yhbt.com> wrote: >> This was addressed on the mailing list and I thought had been resolved based >> on user feedback. >> >> The code which is supposed to fix this is on line 326 of FindBoost as >> checked into CVS. A patch would be appreciated if the code doesn't work for >> you. >> >> See also bug 8734 >> >> On Nov 3, 2009 5:05 AM, "Mathieu Malaterre" <mathieu.malate...@gmail.com> >> wrote: >> >> Hi Philip, >> >> That's where I stop understanding. I cannot state this: >> >> FIND_PACKAGE ( Boost COMPONENTS filesystem REQUIRED) # ideal >> >> If I follow your suggestion I need to express an internal >> dependencie at user level: >> >> FIND_PACKAGE ( Boost COMPONENTS filesystem system REQUIRED) >> >> which fails for Boost 1.34 with: >> >> ... >> CMake Error at Cmake/FindBoost.cmake:894 (message): >> Unable to find the requested Boost libraries. >> >> Boost version: 1.34.1 >> >> Boost include path: /usr/include >> >> The following Boost libraries could not be found: >> >> boost_system >> >> Some (but not all) of the required Boost libraries were found. You may >> need to install these additional Boost libraries. Alternatively, set >> Boost_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT >> to the location of Boost. >> Call Stack (most recent call first): >> CMakeLists.txt:33 (FIND_PACKAGE) >> ... >> >> Thanks >> >> On Mon, Nov 2, 2009 at 6:24 PM, Philip Lowman <phi...@yhbt.com> wrote: > Add >> system to the list of ... >> >> -- >> Mathieu >> > > > > -- > Mathieu > -- Mathieu _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake