[cmake-developers] [CMake 0014317]: Configuration dependent install EXPORT

Brad King brad.king at kitware.com
Wed Jul 31 09:51:50 EDT 2013


On 07/31/2013 09:25 AM, Stephen Kelly wrote:
> As INCLUDES DESTINATION is already in master, that would be a behavior 
> change, and probably need a policy.

Technically that will be true for the real DESTINATION values too
but I doubt anyone has installed to a path with "$<" in it.  Since
INCLUDES DESTINATION populates a property that supports generator
expressions they are likely to be used.  I see your point.

> So, I think for the case of INCLUDES DESTINATION, we can either decide and 
> fix it now, or revert the change adding it for 2.8.12.

Let's try to decide now and revert as a last resort.

So the only reason we need partial evaluation is to leave
configuration-dependent sub-expressions untouched since the
configuration is not known until generation of the consumer?

I think the partial evaluation should work by traversing
the expression tree and collapsing sub-tree that does not
depend on the configuration into a leaf node with a constant
value.

Alternatively we could generate an error if any config-dependent
expressions are found in INCLUDES DESTINATION and otherwise
do full evaluation.  That way we can decide on the partial
evaluation semantics later.

-Brad



More information about the cmake-developers mailing list