install: Allow generator expressions in TARGETS DESTINATION (#14317)

This will allow per-config destinations for targets in EXPORT sets.
Using multiple install(TARGETS) with separate CONFIGURATIONS is
rejected as a target appearing more than once in an export set.
Now instead one can write

 install(TARGETS foo EXPORT exp DESTINATION lib/$<CONFIG>)

to get a single logical membership of the target in the export set
while still having a per-config destination.
This commit is contained in:
Brad King
2015-02-11 14:02:45 -05:00
parent 7607c3d16a
commit f30022eb07
14 changed files with 48 additions and 8 deletions

View File

@@ -60,8 +60,7 @@ public:
cmTarget* GetTarget() const { return this->Target; }
bool IsImportLibrary() const { return this->ImportLibrary; }
std::string const& GetDestination() const
{ return this->Destination; }
std::string GetDestination(std::string const& config) const;
protected:
virtual void GenerateScript(std::ostream& os);