Dear Chris,
your description looks like the perfect example for ExternalProject_add.
Than, every library would be a project. Inside each library, it looks
for its dependency using find_package() and exports
the dependency chain.
Your CMakeLists.txt of the application than has two possibilitie
We've been using CMake for a couple of years for C++ application
building. We effectively set up our CMake project structure once, and
mostly only change it to add new source files, etc.
Currently, all C++ source is checked out of our SVN repository into one
large tree. This tree actually contai