ENH: Support exporting/importing of AppBundle targets.

- Imported bundles have the MACOSX_BUNDLE property set
  - Added cmTarget::IsAppBundleOnApple method to simplify checks
  - Document BUNDLE keyword in INSTALL command
  - Updated IMPORTED_LOCATION property documentation for bundles
  - Updated ExportImport test to test bundles
This commit is contained in:
Brad King
2008-01-28 14:46:16 -05:00
parent 437043bb04
commit e3b1bdb058
12 changed files with 90 additions and 18 deletions
+8 -3
View File
@@ -160,8 +160,8 @@ cmExportInstallFileGenerator
te->RuntimeGenerator, properties);
this->SetImportLocationProperty(config, suffix,
te->FrameworkGenerator, properties);
// TODO: Bundles?
this->SetImportLocationProperty(config, suffix,
te->BundleGenerator, properties);
// If any file location was set for the target add it to the
// import file.
@@ -227,12 +227,17 @@ cmExportInstallFileGenerator
std::string fname = itgen->GetInstallFilename(config);
value += fname;
// Fix name for frameworks.
// Fix name for frameworks and bundles.
if(itgen->GetTarget()->IsFrameworkOnApple())
{
value += ".framework/";
value += fname;
}
else if(itgen->GetTarget()->IsAppBundleOnApple())
{
value += ".app/Contents/MacOS/";
value += fname;
}
// Store the property.
properties[prop] = value;