diff options
Diffstat (limited to 'Source/cmMakefile.cxx')
-rw-r--r-- | Source/cmMakefile.cxx | 35 |
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); } |