BUG: Fix AppBundle=>Library depends in Xcode

- The Xcode generator xcode-depend-helper needs to account
    for the paths of executables within application bundles.
  - See bug #7278.
This commit is contained in:
Brad King 2008-07-07 10:05:29 -04:00
parent 7a10a8ca33
commit 97e658c571
1 changed files with 12 additions and 2 deletions

View File

@ -2579,9 +2579,14 @@ cmGlobalXCodeGenerator::CreateXCodeDependHackTarget(
t->GetType() == cmTarget::SHARED_LIBRARY || t->GetType() == cmTarget::SHARED_LIBRARY ||
t->GetType() == cmTarget::MODULE_LIBRARY) t->GetType() == cmTarget::MODULE_LIBRARY)
{ {
std::string tfull = t->GetFullPath(configName);
if(t->IsAppBundleOnApple())
{
tfull += ".app/Contents/MacOS/";
tfull += t->GetFullName(configName);
}
makefileStream << "\\\n\t" << makefileStream << "\\\n\t" <<
this->ConvertToRelativeForMake( this->ConvertToRelativeForMake(tfull.c_str());
t->GetFullPath(configName).c_str());
} }
} }
makefileStream << "\n\n"; makefileStream << "\n\n";
@ -2637,6 +2642,11 @@ cmGlobalXCodeGenerator::CreateXCodeDependHackTarget(
{ {
// Create a rule for this target. // Create a rule for this target.
std::string tfull = t->GetFullPath(configName); std::string tfull = t->GetFullPath(configName);
if(t->IsAppBundleOnApple())
{
tfull += ".app/Contents/MacOS/";
tfull += t->GetFullName(configName);
}
makefileStream << this->ConvertToRelativeForMake(tfull.c_str()) makefileStream << this->ConvertToRelativeForMake(tfull.c_str())
<< ":"; << ":";