summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx15
-rw-r--r--Source/cmTarget.cxx6
2 files changed, 21 insertions, 0 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 2f81f09..6b019e9 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -1576,6 +1576,21 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
{
debugStr = "NO";
}
+
+ // Convert "XCODE_ATTRIBUTE_*" properties directly.
+ {
+ cmPropertyMap const& props = target.GetProperties();
+ for(cmPropertyMap::const_iterator i = props.begin();
+ i != props.end(); ++i)
+ {
+ if(i->first.find("XCODE_ATTRIBUTE_") == 0)
+ {
+ buildSettings->AddAttribute(i->first.substr(16).c_str(),
+ this->CreateString(i->second.GetValue()));
+ }
+ }
+ }
+
buildSettings->AddAttribute("GCC_GENERATE_DEBUGGING_SYMBOLS",
this->CreateString(debugStr));
buildSettings->AddAttribute("GCC_OPTIMIZATION_LEVEL",
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 1f3250b..0a2cda4 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -277,6 +277,12 @@ void cmTarget::DefineProperties(cmake *cm)
"All Windows-based systems including Cygwin are DLL platforms.");
cm->DefineProperty
+ ("XCODE_ATTRIBUTE_<an-attribute>", cmProperty::TARGET,
+ "Set Xcode target attributes directly.",
+ "Tell the Xcode generator to set '<an-attribute>' to a given value "
+ "in the generated Xcode project. Ignored on other generators.");
+
+ cm->DefineProperty
("GENERATOR_FILE_NAME", cmProperty::TARGET,
"Generator's file for this target.",
"An internal property used by some generators to record the name of "