[cmake-developers] exports and MAP_IMPORTED_CONFIG_<CONFIG>

Stephen Kelly steveire at gmail.com
Thu Dec 13 11:02:30 EST 2012


Brad King wrote:
> On 12/13/2012 08:44 AM, Stephen Kelly wrote:
>> Where would the configuration mapping come from is another project is
>> encountered?
> 
> The mapping comes from the MAP_IMPORTED_CONFIG_ on the target from which
> the property value containing the current generator expression was read.

That's what I thought, but that property is not currently exported, right? 
Are you thinking of in-tree cases, not exported cases? Or are you thinking 
of config files like this:

 include(FooTargets.cmake)

 set_property(TARGET Foo::foo 
    PROPERTY MAP_IMPORTED_CONFIG_COVERAGE Release
 )

?

> Perhaps you can fold this into the generator expression compilation
> process.

Well, the evaluation process, yes, probably.

> Internally you could wrap the entire expression in the
> equivalent of a scheme "let" block that binds the current config for
> expressions inside it.

I'm not familiar with scheme. 

I'm not certain what you mean by the 'entire' expression? If you mean the 
whole string that gets passed to cmGeneratorExpression::Parse, the config is 
already 'bound' for the entire evaluation of the expression (in 
cmCompiledGeneratorExpression::Evaluate). So, I'm not certain what you mean 
here.

Thanks,

Steve.





More information about the cmake-developers mailing list