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 /Source | |
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.
Diffstat (limited to 'Source')
-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 " |