diff options
author | Brad King <brad.king@kitware.com> | 2008-07-03 17:28:54 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-07-03 17:28:54 (GMT) |
commit | 1342965b05f7bf319e02664e4d2231fa6234c3d9 (patch) | |
tree | 220b26faf6ce183944a2f7b57ace3b7b9962d231 /Source/cmGlobalXCodeGenerator.cxx | |
parent | 264af17bfcb78cd08c1f5542269cc74dd733b714 (diff) | |
download | CMake-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/cmGlobalXCodeGenerator.cxx')
-rw-r--r-- | Source/cmGlobalXCodeGenerator.cxx | 25 |
1 files changed, 15 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; +} |