Now that we've started modularizing everything in Boost, we have a heck of a lot more BUILD_BOOST_* options in the CMake configuration, as well as the ton of TEST_BOOST_* macros we had before. I see a few problems with this approach:
1) The sheer volume of these options hides other, more important options. 2) It's hard to use these options. If I just want to build 5 libraries, I have to turn off all the others 3) We don't give good feedback if one turns of a library that another library depends on Instead, I suggest that we have advanced cache variables BOOST_INCLUDE_ONLY and BOOST_EXCLUDE_ONLY. Users can set only one of these, and they have the following behavior: If one sets BOOST_INCLUDE_ONLY, CMake will compute the transitive closure and update BOOST_INCLUDE_ONLY, notifying the user of the extra libraries it added. Once this has settled, we'll just build these libraries. If one sets BOOST_EXCLUDE_ONLY, create a list of all Boost libraries that (1) aren't in BOOST_EXCLUDE_ONLY and (2) don't depend on something in BOOST_EXCLUDE_ONLY. As for testing, we should have test targets for all of the libraries that are included, when testing is enabled. I believe that this approach better fits the use cases for this functionality ("I hate signals, turn it off!"; "I just want MPI; give me that and whatever it needs") and will make Boost-CMake easier to use. - Doug _______________________________________________ Boost-cmake mailing list Boost-cmake@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-cmake