diff options
author | Brad King <brad.king@kitware.com> | 2007-09-10 14:22:19 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2007-09-10 14:22:19 (GMT) |
commit | f2ac53bb10889ea27c511634512414bb31cfb4ea (patch) | |
tree | 4e6c342fc9550908f84036a84ed2335415cb4197 | |
parent | 5dade94eeca771b333465d17ebeb3ec54dfe15c7 (diff) | |
download | CMake-f2ac53bb10889ea27c511634512414bb31cfb4ea.zip CMake-f2ac53bb10889ea27c511634512414bb31cfb4ea.tar.gz CMake-f2ac53bb10889ea27c511634512414bb31cfb4ea.tar.bz2 |
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.
-rw-r--r-- | Source/cmGlobalXCodeGenerator.cxx | 15 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 6 |
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 " |