summaryrefslogtreecommitdiffstats
path: root/Source/cmExportInstallFileGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-28 18:05:58 (GMT)
committerBrad King <brad.king@kitware.com>2008-01-28 18:05:58 (GMT)
commit28ea03473785eddce544704306a239407a8f79bb (patch)
treeee4df3ce5aebf8d96f679db2b26304efb90fe9ba /Source/cmExportInstallFileGenerator.cxx
parent3d94b3b7170b17f119608a896f2e86cba23b6c5b (diff)
downloadCMake-28ea03473785eddce544704306a239407a8f79bb.zip
CMake-28ea03473785eddce544704306a239407a8f79bb.tar.gz
CMake-28ea03473785eddce544704306a239407a8f79bb.tar.bz2
ENH: Support exporting/importing of Framework targets.
- Imported frameworks have the FRAMEWORK property set - Added cmTarget::IsFrameworkOnApple method to simplify checks - Also remove separate IMPORTED_ENABLE_EXPORTS property and just use ENABLE_EXPORTS since, like FRAMEWORK, it just represents the target type. - Document FRAMEWORK keyword in INSTALL command. - Updated IMPORTED_LOCATION property documentation for Frameworks
Diffstat (limited to 'Source/cmExportInstallFileGenerator.cxx')
-rw-r--r--Source/cmExportInstallFileGenerator.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/Source/cmExportInstallFileGenerator.cxx b/Source/cmExportInstallFileGenerator.cxx
index 8266a96..f378106 100644
--- a/Source/cmExportInstallFileGenerator.cxx
+++ b/Source/cmExportInstallFileGenerator.cxx
@@ -158,8 +158,9 @@ cmExportInstallFileGenerator
te->LibraryGenerator, properties);
this->SetImportLocationProperty(config, suffix,
te->RuntimeGenerator, properties);
+ this->SetImportLocationProperty(config, suffix,
+ te->FrameworkGenerator, properties);
- // TODO: Frameworks?
// TODO: Bundles?
// If any file location was set for the target add it to the
@@ -223,7 +224,15 @@ cmExportInstallFileGenerator
value += "/";
// Append the installed file name.
- value += itgen->GetInstallFilename(config);
+ std::string fname = itgen->GetInstallFilename(config);
+ value += fname;
+
+ // Fix name for frameworks.
+ if(itgen->GetTarget()->IsFrameworkOnApple())
+ {
+ value += ".framework/";
+ value += fname;
+ }
// Store the property.
properties[prop] = value;