summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2007-08-14 15:45:15 (GMT)
committerDavid Cole <david.cole@kitware.com>2007-08-14 15:45:15 (GMT)
commitfa61182de8a6ce967420077417b5253abdba2d56 (patch)
treecc61c3f8b9d2d03ed8716d1e5590f0ad9e3f5b81 /Source/cmLocalUnixMakefileGenerator3.cxx
parentf13c3eef83af130396d6c933afcbac672afe37a3 (diff)
downloadCMake-fa61182de8a6ce967420077417b5253abdba2d56.zip
CMake-fa61182de8a6ce967420077417b5253abdba2d56.tar.gz
CMake-fa61182de8a6ce967420077417b5253abdba2d56.tar.bz2
ENH: Improvements to the Xcode generator. Build frameworks using native Copy Headers and Copy Bundle Resources phases. Fix bugs: eliminate folders with no names, ensure source files show up in multiple targets, remove empty utility targets from Sources subtrees, ensure that fileRefs only show up once in each grouping folder.
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.cxx')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx19
1 files changed, 13 insertions, 6 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index bdddd9b..e9a24c7 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -1704,19 +1704,26 @@ cmLocalUnixMakefileGenerator3
target.GetExecutableNames(targetName, targetNameReal, targetNameImport,
targetNamePDB, this->ConfigurationName.c_str());
std::string obj;
+
+ // Construct the full path version of the names.
+ //
+ // If target is a MACOSX_BUNDLE target, then the package location is
+ // relative to "${targetDir}/${targetName}.app/Contents"... else it is
+ // relative to "${targetDir}"...
+ //
+ obj = target.GetDirectory();
+ obj += "/";
if ( target.GetPropertyAsBool("MACOSX_BUNDLE") )
{
- // Construct the full path version of the names.
- obj = target.GetDirectory();
- obj += "/";
obj += targetName + ".app/Contents/";
- obj += fileTargetDirectory;
}
else
{
- // Framework not handled yet
- abort();
+ // Emit warning here...? MACOSX_PACKAGE_LOCATION is "most useful" in a
+ // MACOSX_BUNDLE...
}
+ obj += fileTargetDirectory;
+
obj = cmSystemTools::RelativePath
(this->Makefile->GetHomeOutputDirectory(), obj.c_str());
obj += "/";