[cmake-developers] [CMake 0014317]: Configuration dependent install EXPORT
Brad King
brad.king at kitware.com
Tue Jul 30 08:52:42 EDT 2013
On 07/29/2013 06:57 PM, Stephen Kelly wrote:
> Yes, $<CONFIGURATION> should work both before and after export.
So the question is how to know whether to evaluate it during
export or write it literally in the file. In this case we want
to expand it during export because we want $<CONFIGURATION> to
refer to the build configuration being installed.
> INCLUDES DESTINATION include/$<TARGET_PROPERTY:NAME>
[snip]
> The problem (apart from NAME not being currently a target property) is that
> the $<TARGET_PROPERTY:NAME> is reproduced verbatim in
> theTargetsExport.cmake. There the target names are TP1::foo etc, and
> include/TP1::foo does not exist.
Again the problem is when evaluation occurs.
> The $<INSTALL_PREFIX> works in the INCLUDES DESTINATION because it is
> replaced by preprocessing during export.
Does anything else get replaced by preprocessing?
> For $<CONFIGURATION> it should be fine, but probably also involves replacing
> (IMPORTED_)?LOCATION(_<CONFIG>)? with a genex-capable LOCATION.
The history of the LOCATION property is complicated enough already.
If we do add genex support we should create a new name to
distinguish it.
However, why would allowing $<CONFIGURATION> in the destination
require a genex location? We generate an install rule for a
given configuration with $<CONFIGURATION> replaced and then
put the corresponding result in IMPORTED_LOCATION_<CONFIG>.
-Brad
More information about the cmake-developers
mailing list