On 5/28/2021 11:13 AM, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
The CMakeLists.txt that is in the root library directory is used when the library is built or consumed by users. So, the PRIVATE dependencies are those required to build the library (but not to consume it) and PUBLIC - those required to consume it. IOW, the dependencies from source files normally go in PRIVATE section and from headers - in PUBLIC.
Yep. boostdep --cmake does this automatically for compiled libraries - the dependencies from include/ are marked PUBLIC and those from src/ are marked as PRIVATE. This doesn't apply to Geometry because it's header-only.
First off, Peter, thank you very much for all your hard work bringing CMake to Boost ! Is there documentation anywhere for all this boost cmake stuff ? I have to make some changes to the cmake things in libraries I maintain, but I have little idea of what the Boost cmake side of things consists, much less any expertise with CMake itself. Some sort of documentation would, as always, be helpful.