Closed GPMueller closed 5 years ago
This issue actually doesn't make much sense, as this is essentially already what happens. Flags have to be specified as public
or interface
if they are to be used accordingly by dependent libraries, but this cannot be avoided in any case.
The following kind of scenario is not yet handled automatically:
executable A -> static lib B -> shared lib C
.The dependency DAG is known to
clang-build
, so we should be able to forward dependencies without manual specification ofinterface-libraries
or similar things from the user (this is what CMake does...).When a static or header library depends on a shared library, it is clear that it cannot be linked and has to be forwarded as an
interface-library
. Therefore:interface-libraries
from dependencies on shared librariesinterface-libraries
interface-libraries
of their dependencies