On Mon, 2017-07-24 at 12:42 +0200, Florent Castelli via Boost wrote:
On 24/07/2017 01:19, P F via Boost wrote:
On Jul 23, 2017, at 5:42 AM, Niall Douglas via Boost
wrote:
The target graphs are REGEXable via the pattern "<lib>_
-<special>-<binary>" where: * hl = header only library * sl = static library * dl = shared library
There is no need for `hl` as it doesn’t produce binaries.
"hl" is necessary as a CMake logical target, not at as a build output. The problem I have with all those targets, is that they add a lot of overload to IDE solutions who will scan sources for every configuration and for people whose workflow is to build "all" or the whole solution for MSVC, which will build way too many versions.
Yea, I dont think we should mangle the logical target name at all. The user should be able to write `target_link_libraries(lib boost::foo)` and that should work for either static, shared, or header-only. Supporting multiple variants like shared and static in the same build tree are not supported with cmake, and creating workarounds to try and support them in the same build tree just creates problems. To build shared and static requires two build directories with cmake.