Robert Ramey
On 4/14/16 8:50 AM, Louis Dionne wrote: [...]
I think this recommendation is out of line with current practice. From my experience, the top level CMakeLists.txt file is almost always expected to appear at the root of the project. Out of the 25 most trending C++ projects this month on GitHub,
That may be true. But doing it in this way is very intrusive and conflicts with fundamental aspects of the boost way of doing things. But I always respect convention - except when I don't.
When you don't is when problems arise.
[...]
Finally, FWIW, I think all the CMake-powered projects I've seen so far also put the top level CMakeLists.txt file at the root (but that is just my experience).
Another very, very, very bad idea. This conflicts in a fundamental way with the goal of modularization. It couples all the libraries together through the build system. This kind of coupling is the biggest single feature which makes it harder to support a growing set of Boost libraries.
Don't overthink it. All I'm saying is that the Boost guidelines recommend that CMakeLists.txt should appear in $some_library/build/CMakeLists.txt, while I argue that current practice is to put it in $some_library/CMakeLists.txt. Regards, Louis