[cmake-developers] Interface includes and defines plumbing
Brad King
brad.king at kitware.com
Thu Jan 3 16:03:49 EST 2013
On 01/03/2013 03:32 PM, Stephen Kelly wrote:
> While the porcelain API for setting includes and defines is somewhat
> controversial, the plumbing is not, as far as I can tell. I previously wrote
> that I'd like to get all of the INTERFACE_* related commits in together, but
> I don't think that matters so much really. I'd prefer to get in the base
> features that I can when they're ready, instead of needing to wait for
> 'reverse-depends' to also be ready.
I was just in the middle of drafting a message in the
"New INTERFACE_LINK_LIBRARIES policy approach" thread that proposed the same
incremental approach, so I'll rework the text into this message instead.
The whole-shebang topic is too big for anyone to understand. The plumbing
pieces should be complete and useful changes on their own and added
incrementally.
This is actually why I started a new thread for INTERFACE_LINK_LIBRARIES.
It is a key piece of infrastructure that can be added on its own along with
the policy it requires.
> I'd like to focus first on the on those commits and get them ready for
> review. They are in the interface-includes-defines branch in my clone.
Here are some comments:
* Please add a test for the TARGET_NAME non-literal error cases, both in
direct use of the expression and in export generation.
* In the "Use mapped config properties to evaluate $<CONFIG>" you add code
to handle MAP_IMPORTED_CONFIG. I think that should be an API on cmTarget
refactored from its existing imported config selection code.
Otherwise the topic looks good.
> After that I'll split out the commits for the LINK_LIBRARIES property, the
> link-dependent interface properties like INTERFACE_PIC, and then the
> INTERFACE_LIBRARY type. After that I'd like to get back to the rest.
Okay. The INTERFACE_LINK_LIBRARIES policy approach will have to be
chosen soon. I'll respond to your points over in that thread.
> I was wondering when the release-candidate period will start for 2.8.11? Or
> will there be a release-candidate period at all anymore? Is the 2.8.11
> release scheduled?
There will be a RC period but we haven't scheduled it yet.
-Brad
More information about the cmake-developers
mailing list