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

Stephen Kelly steveire at gmail.com
Wed Jul 31 07:53:33 EDT 2013


Brad King wrote:

> On 07/30/2013 09:46 AM, Stephen Kelly wrote:
>> That is, parameters to install(TARGETS) are evaluated at export time, and
>> otherwise the contents of the property are reproduced verbatim.
> 
> Yes, I think this makes sense.  The install rules run as part of
> the current project's build just like custom commands, so it makes
> sense to evaluate generator expressions immediately.  However, the
> implementation may be a bit complicated because now cmake_install.cmake
> script code will have to branch on BUILD_TYPE to pick which install
> rule to run.  There is already infrastructure for this to support
> the CONFIGURATIONS option of install(TARGETS) so maybe it is okay.


I think two things are being confused here. One is the DESTINATION for 
things that are installed by the current command. Eg:

 install(TARGETS foo 
   RUNTIME DESTINATION bin
   LIBRARY DESTINATION lib
   ARCHIVE DESTINATION lib
 )
 install(FILES foo.h 
   DESTINATION include
 )

The bug report is about adding genex support to those destinations.

The new feature is 

 install(TARGETS foo 
   INCLUDES DESTINATION include
 )

which does not result in installing anything to 'include/', but only 
populates a property. This is quite separate to what you describe above. I 
propose that we deal with what you describe above after 2.8.12.

For supporting generator expressions in 

 install(TARGETS foo 
   INCLUDES DESTINATION include
 )

I've pushed a INCLUDES-DESTINATION-partial-eval topic to my clone with some 
ideas for it. Please let me know what you think.

Thanks,

Steve.





More information about the cmake-developers mailing list