On Tue, Nov 2, 2021 at 3:58 PM René Ferdinand Rivera Morell < grafikrobot@gmail.com> wrote:
On Tue, Nov 2, 2021 at 2:04 PM Peter Dimov via Boost < boost@lists.boost.org> wrote:
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.
PS. Projects are also real targets, in the same sense. So that might be an option to hook into also. -- -- René Ferdinand Rivera Morell -- Don't Assume Anything -- No Supone Nada -- Robot Dreams - http://robot-dreams.net