Boost logo

Boost Interest :

Subject: Re: [Boost-cmake] CMake modularization update
From: Michael Jackson (mike.jackson_at_[hidden])
Date: 2008-10-31 18:13:49


On Oct 31, 2008, at 6:03 PM, Doug Gregor wrote:

> On Fri, Oct 31, 2008 at 6:00 PM, Michael Jackson
> <mike.jackson_at_[hidden]> wrote:
>>
>> On Oct 31, 2008, at 5:26 PM, Doug Gregor wrote:
>>
>>> On Fri, Oct 31, 2008 at 5:01 PM, Michael Jackson
>>> <mike.jackson_at_[hidden]> wrote:
>>>>
>>>> On Oct 31, 2008, at 2:16 PM, Doug Gregor wrote:
>>>>
>>>>>>>>
>>>>>>>> What I am not sure of is what to do with the remaining
>>>>>>>> headers in the
>>>>>>>> "boost" directory. Are those going to be the "core" of Boost
>>>>>>>> or ?
>>>>>>>
>>>>>>> Yeah, that's how I would do it.
>>>>>>
>>>>>> So are talking about modularizing what is left into "libs/core"
>>>>>> then? I
>>>>>> just
>>>>>> want to be really clear and certain before I make that move.
>>>>>
>>>>> Sorry, I was very unclear. I would like the remaining libs (mpl,
>>>>> type_traits, config, and whatever else is in that tangle)
>>>>> unmodularized for now. There *are* circular dependencies at the
>>>>> library level and they aren't trivial to untangle. It's better
>>>>> for the
>>>>> CMake effort to leave those in the non-modularized core and let
>>>>> the
>>>>> library authors sort out the dependencies later.
>>>>
>>>>
>>>> How my working directory stands now is that all the libraries are
>>>> modularized.
>>>>
>>>> The problem I know have is that according to the generated
>>>> dependency
>>>> graph
>>>> there is only 1 circular between date_time, algorithm and regex.
>>>>
>>>> MPL, Type_Traits and such _seem_ to be ok but I think that is
>>>> probably a
>>>> false report going on what you guys are telling me.
>>>
>>> If you enable testing, does "make check" run cleanly? On Mac OS X,
>>> it
>>> should.
>>>
>>> - Doug
>>>
>>
>>
>> make check
>> make: *** No rule to make target `check'. Stop.
>
> Sorry, "make test". You also need to set ENABLE_TESTING.
>
> - Doug

This is where I am at currently. I am trying to update all the testing
Cmake files so that they have all the proper includes.

  I came up with the following macro which I put in the
BoostTest.cmake file:

macro(boost_test_add_dependent_includes includes)
   foreach (include ${includes})
     #message(STATUS "include: ${include}")
     include_directories("${Boost_SOURCE_DIR}/libs/${include}/include")
   endforeach (include ${includes})
endmacro(boost_test_add_dependent_includes includes)

Which for some of the testing cmake files is being invoked like this:

#-------------------------------------------------------------------------
#-- Needed include directories for the tests
boost_test_add_dependent_includes("utility;detail;config;test;mpl;\
bind
;type_traits
;static_assert;preprocessor;array;iterator;exception;range;timer")
#-------------------------------------------------------------------------

Which is getting ugly quick. I was wanting to do something like is
done with the "module.cmake" file to just list the upper dependencies
and let cmake figure out all the rest.

Mike


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