[cmake-developers] Policy for INTERFACE_LINK_LIBRARIES
Stephen Kelly
steveire at gmail.com
Sun Dec 2 04:35:09 EST 2012
Brad King wrote:
> And another. Here is new documentation I've written based on this
> discussion.
Done now.
I would really prefer if you would commit this directly to the branch
instead, as you had written it locally already. There is no point in having
to go through me. The branch can be our collaboration point. Me copying your
patch and pushing it myself feels like needless busy-work.
Simliarly with the link-type keywords in the INTERFACE_LINK_LIBRARIES
property check, you might not like the message string that I used in the
error, you might ask me to change it, etc and we'll end up doing more trips
through me, more latency. Please feel free to update it directly if that is
the case.
I'm not sure about DEBUG_CONFIG either. I think I'd prefer a more generic
solution like $<COMPATIBLE_CONFIG:cfg> which would account for
MAP_IMPORTED_CONFIG_<CONFIG> too. It's something worth discussing at least,
and the discussion could go on past next Tuesday.
If we do discuss it and insist that it's a solved-problem before add-
INTERFACE_LINK_LIBRARIES-property can be merged, that would mean that the
entire add-INTERFACE_LINK_LIBRARIES-property topic would not get merged to
master for another week. I have at least 7 topics depending on that one
being in master. I don't think the $<CONFIG:Debug> is so important that it
should block that. It's a minor limitation which could equally be addressed
after add-INTERFACE_LINK_LIBRARIES-property is in, in parallel with all the
other stuff which depends on that.
How can we best prevent scope-creep in topics?
A few weeks ago I didn't have all the export-related stuff for
INTERFACE_LINK_LIBRARIES in the same commit that introduced it, but I had
follow-up commits in a follow-up topic to handle export() and
install(EXPORT) for it.
That would have simplified the commit that actually added
INTERFACE_LINK_LIBRARIES I think, and I would still have been able to add
most of my follow-up topics once it was in. You would have probably noticed
that it was missing (exactly as you did with the context-target stuff and
the static library conversion of link implementation into link interface in
exports), and it might be harder for you to keep track of and review. Do you
have any preference?
If I have patches or features which other pending topics depend on, should I
try to get a partial-implementation of limited scope in first and point to
the other topics in gitorious, or does that not work for you?
As a side-note, I'm no longer aiming to get the INTERFACE_LIBRARY type into
2.8.11 due to time constraints and incomplete implementation. It will have
to wait until 2.8.12.
> Please update the topic to implement the tll() behavior
> with respect to the policy and LINK_PUBLIC.
I pushed that to no-export-old-link-interface branch in my gitorious clone a
few days ago. I guess I should have pointed it out, but I didn't realize it
was a blocker for add-INTERFACE_LINK_LIBRARIES-property to get in. It also
might open up new questions about documentation and implementation, and
might introduce new failures in the dashboard. I'd prefer to discuss and
merge it separately after add-INTERFACE_LINK_LIBRARIES-property is in.
Otherwise add-INTERFACE_LINK_LIBRARIES-property will never get in.
If you disagree, please cherry-pick it to the add-INTERFACE_LINK_LIBRARIES-
property branch and merge it to next yourself so that we can move forward
with other things.
Thanks,
Steve.
More information about the cmake-developers
mailing list