Hi there,
I think it would be very useful to be able to specify
features that
are propagated, but only to the targets that have declared
their
acceptance of (= dependency on) those features.
For example, one might want to build two versions of her
application:
ANSI and Unicode; she declares:
feature charset : ansi unicode : symmetric propagated ;
However, she also wants to link with a library that does not
care
about "charset" (eg: a Boost library); it is
unnecessary to build
that library in two versions (= sub-directories)
(charset-ansi and
charset-unicode); thus, the feature should not be propagated
to it.
The workarounds that I have come up with so far are
unsatisfactory;
they do not scale well when multiple features/projects are
involved;
for example:
feature charset : neutral ansi unicode : propagated ;
...
exe Main : Main.cpp /boost//regex/<charset>neutral
I think a better solution might look like this:
feature charset : ansi unicode :
propagated-only-to-supportive-targets ;
...
lib Lib1 : Alfa.cpp :
<supports-propagation-of>charset ;
lib Lib2 : Beta.cpp ;
exe Main : Main.cpp Lib1 Lib2 : <charset>unicode ;
Can this be implemented (if so, how) ? Or do you know a
better
work-around ?
Thank you for your time.
--
Best regards,
Adder
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
a>
|