summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-07-03 17:28:54 (GMT)
committerBrad King <brad.king@kitware.com>2008-07-03 17:28:54 (GMT)
commit1342965b05f7bf319e02664e4d2231fa6234c3d9 (patch)
tree220b26faf6ce183944a2f7b57ace3b7b9962d231 /Source
parent264af17bfcb78cd08c1f5542269cc74dd733b714 (diff)
downloadCMake-1342965b05f7bf319e02664e4d2231fa6234c3d9.zip
CMake-1342965b05f7bf319e02664e4d2231fa6234c3d9.tar.gz
CMake-1342965b05f7bf319e02664e4d2231fa6234c3d9.tar.bz2
BUG: Fix Xcode reference to Info.plist resource
- Generated Xcode projects for application bundles list the CMake-generated Info.plist input file as a resource. - The location of the input file was moved by a previous commit, but the reference to it as a resource file was not updated. - This change moves the file to CMakeFiles/<tgt>.dir/Info.plist to give it a more intuitive name in the Xcode project. - We also update the reference to point at the correct location. - See bug #7277.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx25
-rw-r--r--Source/cmGlobalXCodeGenerator.h2
2 files changed, 17 insertions, 10 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 2381bc1..84d088f 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -1475,11 +1475,7 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
if(target.GetPropertyAsBool("MACOSX_BUNDLE"))
{
productType = "com.apple.product-type.application";
- std::string plist = this->CurrentMakefile->GetCurrentOutputDirectory();
- plist += cmake::GetCMakeFilesDirectory();
- plist += "/";
- plist += target.GetName();
- plist += "Info.plist";
+ std::string plist = this->ComputeInfoPListLocation(target);
// Xcode will create the final version of Info.plist at build time,
// so let it replace the executable name. This avoids creating
// a per-configuration Info.plist file.
@@ -2213,11 +2209,8 @@ void cmGlobalXCodeGenerator::CreateGroups(cmLocalGenerator* root,
// MACOSX_BUNDLE file
if(cmtarget.GetPropertyAsBool("MACOSX_BUNDLE"))
{
- std::string plistFile =
- this->CurrentMakefile->GetCurrentOutputDirectory();
- plistFile += "/Info.plist";
- cmSourceFile* sf =
- this->CurrentMakefile->GetOrCreateSource(plistFile.c_str(), true);
+ std::string plist = this->ComputeInfoPListLocation(cmtarget);
+ cmSourceFile* sf = mf->GetOrCreateSource(plist.c_str(), true);
cmtarget.AddSourceFile(sf);
}
@@ -2965,3 +2958,15 @@ void cmGlobalXCodeGenerator::AppendDefines(std::string& defs,
defs += "'";
}
}
+
+//----------------------------------------------------------------------------
+std::string
+cmGlobalXCodeGenerator::ComputeInfoPListLocation(cmTarget& target)
+{
+ std::string plist = target.GetMakefile()->GetCurrentOutputDirectory();
+ plist += cmake::GetCMakeFilesDirectory();
+ plist += "/";
+ plist += target.GetName();
+ plist += ".dir/Info.plist";
+ return plist;
+}
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h
index 2b289fa..a20e070 100644
--- a/Source/cmGlobalXCodeGenerator.h
+++ b/Source/cmGlobalXCodeGenerator.h
@@ -103,6 +103,8 @@ private:
cmXCodeObject* frameworkBuildPhase,
cmTarget& cmtarget);
+ std::string ComputeInfoPListLocation(cmTarget& target);
+
void AddCommandsToBuildPhase(cmXCodeObject* buildphase,
cmTarget& target,
std::vector<cmCustomCommand>