Boost logo

Boost Interest :

Subject: Re: [Boost-cmake] Using BCP to create a "Subset" of Boost ... And CMake ... And Windows
From: Michael Jackson (mike.jackson_at_[hidden])
Date: 2009-12-16 13:14:18

  I got at least an "alpha" version up and working.


This will add the necessary code to 'bcp' to copy the needed cmake
files so one should be able to create compilable subset of Boost
1.41.0 for their own use.

After I got bcp compiled I was wanting a boost with just the following
support: shared_ptr, program_options, thread.

  I ran the following command line:

bin/bcp --boost=/Users/Shared/OpenSource/imikejacksons-boost-cmake --
unix-lines shared_ptr.hpp tools/build/CMake program_options.hpp
thread.hpp /Volumes/Users/mjackson/Workspace/MXABoost

which copied the needed files to /Volumes/Users/mjackson/Workspace/
I configured that for Visual Studio, NMake, Makefiles and all seem to
build correctly.

  Again, Comments are welcome. The ending size of the Boost subset is
17.5 MB.
Mike Jackson mike.jackson_at_[hidden]
BlueQuartz Software
Principal Software Engineer Dayton, Ohio

On Dec 10, 2009, at 4:14 PM, Michael Jackson wrote:

> On Dec 10, 2009, at 4:11 PM, James C. Sutherland wrote:
>> On Dec 10, 2009, at 12:02 PM, Michael Jackson wrote:
>>> So I hacked on bcp a bit to add in the detection of CMake files so
>>> when doing something like:
>>> [mjackson] $ bcp boost/program_options.hpp boost/smart_ptr.hpp
>>> boost/pointer_cast.hpp boost/algorithm/string.hpp boost/thread.hpp
>>> tools/build/cmake /tmp/Boost-1.41.0
>>> All the necessary CMake files will be copied into the new Subset
>>> directory. I tested this on OS X and it shockingly worked quite
>>> well. Also a bit of a shock was the shear number of files that
>>> needed to be copied from boost just for shared_ptr.hpp
>>> I then took that Subset directory and copied it over to a Windows
>>> 7 x64 with VS 2008 standard installed. Launched CMake, configured
>>> the build. Then I attempted to "generate" and this is where the
>>> first problem appeared. During generation on Windows (through the
>>> MSVC Command prompt/32 bit) CMake is now looking for $BOOST_ROOT/
>>> build/CMakeLists.txt file which it did NOT do on OS X. I am using
>>> the same set of options on each platform.
>>> Comments anyone? Anyone want to see the bcp sources?
>>> <reasoning>Boost is just a HUGE dependence for just a few things
>>> that I need (shared_ptr and threads). There are memory leak bugs
>>> that are not getting fixed, bjam just sucks to use, and the shear
>>> size of boost is just insane for my project (and others needing my
>>> project). So a small subset of Boost is really all that is
>>> required. I can embed this into my project and the size of my
>>> project will not get too out of hand. . Thanks for listening and
>>> any comments.</reasoning>
>> I think that is great. Any idea if the boost powers that be will
>> allow you to commit that? If not, perhaps it could be distributed
>> with the CMake boost?
> Not that I would "do it" but I think I still have commit rights to
> Boost SVN. The code needs some review first most likely and probably
> the creation of a new option for bcp "include-cmake-files".
> I guess I could clone Troy's repo on gitorious and post up there.
> Mike Jackson

Boost-cmake list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at