Ok, its not *the* way, but when working in x-platform development (win/mac/linux) and you just want to checkout the
source tree and have everything "work" directly (and not worry about what packages to install to make the project compile), its the best way imho.

I still don't agree, because you are intermingling separate modules, with the consequence that you impose certain requirements on those modules (i.e. you need them to build in a certain way, which is probably the reason for your orgiginal post).

Using find_package doesn't preclude you from doing a single checkout, and have everything work. All you need to do is set the correct search path ( set (CMAKE_PREFIX_PATH <your_path>) ) before using find_package.
Additionally you have a script (you can use CMake for this, too) which
builds all your (external) modules in the right order.

I think, but am not 100% on this, that the FindBoost.cmake included with CMake 2.6 will preempt the default search paths if you have BOOST_ROOT defined in your environment variable. I have no idea how it resolves binaries since bjam doesn't build them in an installation-like layout.
 
Andrew Sutton
andrew.n.sutton@gmail.com