ENH: Added XCODE_ATTRIBUTE_<an-attribute> property to allow direct setting of Xcode target attributes in generated projects. For example, one may set the prefix header property and the corresponding precompiled option to do precompiled headers.

This commit is contained in:
Brad King 2007-09-10 10:22:19 -04:00
parent 5dade94eec
commit f2ac53bb10
2 changed files with 21 additions and 0 deletions

View File

@ -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",

View File

@ -276,6 +276,12 @@ void cmTarget::DefineProperties(cmake *cm)
"exported symbols and then used for linking. "
"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.",