On 2015-11-17 19:06, Robert Ramey wrote:
b) Bjam permits one to have one build file refer to another. CMake might permit this, but it's sufficiently unobvious that I couldn't figure it out. This is useful for us. For example if I want to build (and run) tests for the serialization library, it will automatically build the libraries it requires and nothing more - just by invoking the build script from within the test directory. CMake might be able to do this - but it's very non-obvious how one would do this.
Not sure I understood you correctly, but it works very naturally in CMake. If your target foo (say, an executable) links with library bar (i.e. has bar in target_link_libraries) and there happens to be a bar library in the source tree, CMake will build bar and link foo with it automatically. Furthermore, if bar is a static library and it itself depends on other libraries, CMake will build and add those to the foo linking command line.