[Cmake-commits] [cmake-commits] king committed cmExportBuildFileGenerator.cxx 1.6 1.7 cmGlobalXCodeGenerator.cxx 1.203 1.204 cmTarget.cxx 1.231 1.232
cmake-commits at cmake.org
cmake-commits at cmake.org
Tue Jan 20 15:49:39 EST 2009
Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv9889/Source
Modified Files:
cmExportBuildFileGenerator.cxx cmGlobalXCodeGenerator.cxx
cmTarget.cxx
Log Message:
BUG: Fix LOCATION property for Mac AppBundles
Previously cmTarget::GetLocation and cmTarget::GetFullPath would return
for Mac AppBundles the top-level bundle directory but without the .app
extension. We worked around this at the call sites. This fixes the
methods and removes the work-arounds. See issue #8406.
Index: cmGlobalXCodeGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.cxx,v
retrieving revision 1.203
retrieving revision 1.204
diff -C 2 -d -r1.203 -r1.204
*** cmGlobalXCodeGenerator.cxx 9 Oct 2008 15:01:47 -0000 1.203
--- cmGlobalXCodeGenerator.cxx 20 Jan 2009 20:49:37 -0000 1.204
***************
*** 2608,2616 ****
{
std::string tfull = t->GetFullPath(configName);
- if(t->IsAppBundleOnApple())
- {
- tfull += ".app/Contents/MacOS/";
- tfull += t->GetFullName(configName);
- }
makefileStream << "\\\n\t" <<
this->ConvertToRelativeForMake(tfull.c_str());
--- 2608,2611 ----
***************
*** 2670,2678 ****
// Create a rule for this target.
std::string tfull = t->GetFullPath(configName);
- if(t->IsAppBundleOnApple())
- {
- tfull += ".app/Contents/MacOS/";
- tfull += t->GetFullName(configName);
- }
makefileStream << this->ConvertToRelativeForMake(tfull.c_str())
<< ":";
--- 2665,2668 ----
Index: cmExportBuildFileGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmExportBuildFileGenerator.cxx,v
retrieving revision 1.6
retrieving revision 1.7
diff -C 2 -d -r1.6 -r1.7
*** cmExportBuildFileGenerator.cxx 6 Feb 2008 19:20:35 -0000 1.6
--- cmExportBuildFileGenerator.cxx 20 Jan 2009 20:49:37 -0000 1.7
***************
*** 107,119 ****
prop += suffix;
std::string value;
! if(target->IsFrameworkOnApple())
! {
! value = target->GetFullPath(config, false);
! }
! else if(target->IsAppBundleOnApple())
{
value = target->GetFullPath(config, false);
- value += ".app/Contents/MacOS/";
- value += target->GetFullName(config, false);
}
else
--- 107,113 ----
prop += suffix;
std::string value;
! if(target->IsFrameworkOnApple() || target->IsAppBundleOnApple())
{
value = target->GetFullPath(config, false);
}
else
Index: cmTarget.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmTarget.cxx,v
retrieving revision 1.231
retrieving revision 1.232
diff -C 2 -d -r1.231 -r1.232
*** cmTarget.cxx 5 Jan 2009 14:53:14 -0000 1.231
--- cmTarget.cxx 20 Jan 2009 20:49:37 -0000 1.232
***************
*** 1933,1936 ****
--- 1933,1941 ----
this->Location += "/";
}
+ if(this->IsAppBundleOnApple())
+ {
+ this->Location += this->GetFullName(config, false);
+ this->Location += ".app/Contents/MacOS/";
+ }
if(this->IsFrameworkOnApple())
{
***************
*** 2447,2450 ****
--- 2452,2460 ----
fpath += "/";
+ if(this->IsAppBundleOnApple())
+ {
+ fpath += this->GetFullName(config, false);
+ fpath += ".app/Contents/MacOS/";
+ }
if(this->IsFrameworkOnApple())
{
More information about the Cmake-commits
mailing list