summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2007-06-25 13:51:37 (GMT)
committerKen Martin <ken.martin@kitware.com>2007-06-25 13:51:37 (GMT)
commit509f1fb9cb2d23938f4f4217a7f51597fa4af18a (patch)
treefcaaa9a18d57d26b72b108859ebd6844055170f6 /Source/cmMakefile.cxx
parent2d1c85ade3f7824eeb3f342f4a96a8843ee7b7b8 (diff)
downloadCMake-509f1fb9cb2d23938f4f4217a7f51597fa4af18a.zip
CMake-509f1fb9cb2d23938f4f4217a7f51597fa4af18a.tar.gz
CMake-509f1fb9cb2d23938f4f4217a7f51597fa4af18a.tar.bz2
ENH: some property cleanup and added GetProperty
Diffstat (limited to 'Source/cmMakefile.cxx')
-rw-r--r--Source/cmMakefile.cxx35
1 files changed, 35 insertions, 0 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index b49f826..3c0078f 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -2534,6 +2534,41 @@ void cmMakefile::SetProperty(const char* prop, const char* value)
{
return;
}
+
+ // handle special props
+ std::string propname = prop;
+ if ( propname == "INCLUDE_DIRECTORIES" )
+ {
+ std::vector<std::string> varArgsExpanded;
+ cmSystemTools::ExpandListArgument(value, varArgsExpanded);
+ this->SetIncludeDirectories(varArgsExpanded);
+ return;
+ }
+
+ if ( propname == "LINK_DIRECTORIES" )
+ {
+ std::vector<std::string> varArgsExpanded;
+ cmSystemTools::ExpandListArgument(value, varArgsExpanded);
+ this->SetLinkDirectories(varArgsExpanded);
+ return;
+ }
+
+ if ( propname == "INCLUDE_REGULAR_EXPRESSION" )
+ {
+ this->SetIncludeRegularExpression(value);
+ return;
+ }
+
+ if ( propname == "ADDITIONAL_MAKE_CLEAN_FILES" )
+ {
+ // This property is not inherrited
+ if ( strcmp(this->GetCurrentDirectory(),
+ this->GetStartDirectory()) != 0 )
+ {
+ return;
+ }
+ }
+
this->Properties.SetProperty(prop,value,cmProperty::DIRECTORY);
}