On Tue, Nov 2, 2021 at 2:04 PM Peter Dimov via Boost
Boris Kolpackov wrote:
Peter Dimov via Boost
writes: Since the CMake configuration files that are generated by `b2 install` define CMake targets based on the b2 targets, it's not possible to fix this just on the boost-install side. If we want Boost::process to appear as a target in CMake, we need boost_process to appear as a target in b2, that is, we need libs/process/build/Jamfile to exist.
The easiest way to fix it - if we decide to do something about it - is to create dummy compiled libraries for each such header-only library that isn't really header-only because of dependencies.
Wouldn't the proper way to fix this be to teach b2 first-class "binless" library targets (i.e., a library that doesn't actually have .a/.so)?
It might be possible to achieve something like that with alias targets, although I haven't tried.
B2 alias targets _are_ real targets (in the meta-target sense of the B2 build abstractions). I haven't looked at how the cmake files are generated though. So not sure what that requires for it to work. -- -- René Ferdinand Rivera Morell -- Don't Assume Anything -- No Supone Nada -- Robot Dreams - http://robot-dreams.net