summaryrefslogtreecommitdiff
path: root/Source/cmGlobalXCodeGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-09-23 14:10:08 -0400
committerBrad King <brad.king@kitware.com>2009-09-23 14:10:08 -0400
commitbd33da9fccf209f9f7f23b00db4b7305caab32a0 (patch)
tree2f70d5e94c8aa469e5a29db0762c6864320ee917 /Source/cmGlobalXCodeGenerator.cxx
parent8ffc8147e07b67e484b235760ea5c6f0b8b21756 (diff)
downloadcmake-bd33da9fccf209f9f7f23b00db4b7305caab32a0.tar.gz
Add Xcode SYMROOT setting for custom targets
Xcode 1.5 writes helper scripts at the projectDirPath location for targets that do not set SYMROOT. We now add SYMROOT to custom targets so that all targets set it. This prevents Xcode 1.5 from touching the source directory now that we always set projectDirPath. See issue #8481.
Diffstat (limited to 'Source/cmGlobalXCodeGenerator.cxx')
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index e6957490ee..2603c0d044 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -1531,19 +1531,20 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
this->CreateString(pnbase.c_str()));
// Set attributes to specify the proper name for the target.
+ std::string pndir = this->CurrentMakefile->GetCurrentOutputDirectory();
if(target.GetType() == cmTarget::STATIC_LIBRARY ||
target.GetType() == cmTarget::SHARED_LIBRARY ||
target.GetType() == cmTarget::MODULE_LIBRARY ||
target.GetType() == cmTarget::EXECUTABLE)
{
- std::string pndir = target.GetDirectory();
- buildSettings->AddAttribute("SYMROOT",
- this->CreateString(pndir.c_str()));
+ pndir = target.GetDirectory();
buildSettings->AddAttribute("EXECUTABLE_PREFIX",
this->CreateString(pnprefix.c_str()));
buildSettings->AddAttribute("EXECUTABLE_SUFFIX",
this->CreateString(pnsuffix.c_str()));
}
+ buildSettings->AddAttribute("SYMROOT",
+ this->CreateString(pndir.c_str()));
// Handle settings for each target type.
switch(target.GetType())