summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.cxx
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2012-04-02 19:50:37 (GMT)
committerDavid Cole <david.cole@kitware.com>2012-04-02 19:50:37 (GMT)
commit0579fa045c854b732506887cdf3a9a54610748ab (patch)
treeeac0cc2c6ff355af6af73ecbd3be55e7c5b1fd0d /Source/cmGlobalXCodeGenerator.cxx
parent0454057f8ab90e1b7554f4f014575b9144cc75fc (diff)
downloadCMake-0579fa045c854b732506887cdf3a9a54610748ab.zip
CMake-0579fa045c854b732506887cdf3a9a54610748ab.tar.gz
CMake-0579fa045c854b732506887cdf3a9a54610748ab.tar.bz2
Xcode: Pay attention to custom configuration types (#13082)
Previously, we were setting the default configuration for a generated Xcode project to the hard-coded string "Debug" even in cases where users customized their configuration types such that the list did not contain "Debug". Now, we use the first string listed in CMAKE_CONFIGURATION_TYPES as the default config for generated Xcode projects.
Diffstat (limited to 'Source/cmGlobalXCodeGenerator.cxx')
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 56228f5..998843f 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -3023,6 +3023,7 @@ void cmGlobalXCodeGenerator
cmXCodeObject* buildConfigurations =
this->CreateObject(cmXCodeObject::OBJECT_LIST);
std::vector<cmXCodeObject*> configs;
+ const char *defaultConfigName = "Debug";
if(this->XcodeVersion == 15)
{
cmXCodeObject* configDebug =
@@ -3039,6 +3040,10 @@ void cmGlobalXCodeGenerator
for(unsigned int i = 0; i < this->CurrentConfigurationTypes.size(); ++i)
{
const char* name = this->CurrentConfigurationTypes[i].c_str();
+ if (0 == i)
+ {
+ defaultConfigName = name;
+ }
cmXCodeObject* config =
this->CreateObject(cmXCodeObject::XCBuildConfiguration);
config->AddAttribute("name", this->CreateString(name));
@@ -3060,7 +3065,7 @@ void cmGlobalXCodeGenerator
configlist->AddAttribute("defaultConfigurationIsVisible",
this->CreateString("0"));
configlist->AddAttribute("defaultConfigurationName",
- this->CreateString("Debug"));
+ this->CreateString(defaultConfigName));
cmXCodeObject* buildSettings =
this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP);
const char* osxArch =