|
@@ -28,7 +28,6 @@ bool cmGetDirectoryPropertyCommand::InitialPass(
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- std::vector<std::string>::size_type cc;
|
|
|
|
|
std::vector<std::string>::const_iterator i = args.begin();
|
|
std::vector<std::string>::const_iterator i = args.begin();
|
|
|
std::string variable = *i;
|
|
std::string variable = *i;
|
|
|
++i;
|
|
++i;
|
|
@@ -76,72 +75,7 @@ bool cmGetDirectoryPropertyCommand::InitialPass(
|
|
|
// OK, now we have the directory to process, we just get the requested
|
|
// OK, now we have the directory to process, we just get the requested
|
|
|
// information out of it
|
|
// information out of it
|
|
|
|
|
|
|
|
- if ( *i == "VARIABLES" || *i == "CACHE_VARIABLES" )
|
|
|
|
|
- {
|
|
|
|
|
- int cacheonly = 0;
|
|
|
|
|
- if ( *i == "CACHE_VARIABLES" )
|
|
|
|
|
- {
|
|
|
|
|
- cacheonly = 1;
|
|
|
|
|
- }
|
|
|
|
|
- std::vector<std::string> vars = dir->GetDefinitions(cacheonly);
|
|
|
|
|
- for ( cc = 0; cc < vars.size(); cc ++ )
|
|
|
|
|
- {
|
|
|
|
|
- if ( cc > 0 )
|
|
|
|
|
- {
|
|
|
|
|
- output += ";";
|
|
|
|
|
- }
|
|
|
|
|
- output += vars[cc];
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- else if ( *i == "MACROS" )
|
|
|
|
|
- {
|
|
|
|
|
- dir->GetListOfMacros(output);
|
|
|
|
|
- }
|
|
|
|
|
- else if ( *i == "DEFINITIONS" )
|
|
|
|
|
- {
|
|
|
|
|
- output = dir->GetDefineFlags();
|
|
|
|
|
- }
|
|
|
|
|
- else if ( *i == "INCLUDE_DIRECTORIES" )
|
|
|
|
|
- {
|
|
|
|
|
- std::vector<std::string>::iterator it;
|
|
|
|
|
- int first = 1;
|
|
|
|
|
- cmOStringStream str;
|
|
|
|
|
- for ( it = dir->GetIncludeDirectories().begin();
|
|
|
|
|
- it != dir->GetIncludeDirectories().end();
|
|
|
|
|
- ++ it )
|
|
|
|
|
- {
|
|
|
|
|
- if ( !first )
|
|
|
|
|
- {
|
|
|
|
|
- str << ";";
|
|
|
|
|
- }
|
|
|
|
|
- str << it->c_str();
|
|
|
|
|
- first = 0;
|
|
|
|
|
- }
|
|
|
|
|
- output = str.str();
|
|
|
|
|
- }
|
|
|
|
|
- else if ( *i == "INCLUDE_REGULAR_EXPRESSION" )
|
|
|
|
|
- {
|
|
|
|
|
- output = dir->GetIncludeRegularExpression();
|
|
|
|
|
- }
|
|
|
|
|
- else if ( *i == "LINK_DIRECTORIES" )
|
|
|
|
|
- {
|
|
|
|
|
- std::vector<std::string>::iterator it;
|
|
|
|
|
- int first = 1;
|
|
|
|
|
- cmOStringStream str;
|
|
|
|
|
- for ( it = dir->GetLinkDirectories().begin();
|
|
|
|
|
- it != dir->GetLinkDirectories().end();
|
|
|
|
|
- ++ it )
|
|
|
|
|
- {
|
|
|
|
|
- if ( !first )
|
|
|
|
|
- {
|
|
|
|
|
- str << ";";
|
|
|
|
|
- }
|
|
|
|
|
- str << it->c_str();
|
|
|
|
|
- first = 0;
|
|
|
|
|
- }
|
|
|
|
|
- output = str.str();
|
|
|
|
|
- }
|
|
|
|
|
- else if ( *i == "DEFINITION" )
|
|
|
|
|
|
|
+ if ( *i == "DEFINITION" )
|
|
|
{
|
|
{
|
|
|
++i;
|
|
++i;
|
|
|
if (i == args.end())
|
|
if (i == args.end())
|
|
@@ -151,20 +85,16 @@ bool cmGetDirectoryPropertyCommand::InitialPass(
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
output = dir->GetSafeDefinition(i->c_str());
|
|
output = dir->GetSafeDefinition(i->c_str());
|
|
|
|
|
+ this->Makefile->AddDefinition(variable.c_str(), output.c_str());
|
|
|
}
|
|
}
|
|
|
- else
|
|
|
|
|
|
|
+
|
|
|
|
|
+ const char *prop = dir->GetProperty(i->c_str());
|
|
|
|
|
+ if (prop)
|
|
|
{
|
|
{
|
|
|
- const char *prop = dir->GetProperty(i->c_str());
|
|
|
|
|
- if (prop)
|
|
|
|
|
- {
|
|
|
|
|
- this->Makefile->AddDefinition(variable.c_str(), prop);
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
- this->Makefile->AddDefinition(variable.c_str(), "");
|
|
|
|
|
|
|
+ this->Makefile->AddDefinition(variable.c_str(), prop);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
- this->Makefile->AddDefinition(variable.c_str(), output.c_str());
|
|
|
|
|
-
|
|
|
|
|
|
|
+ this->Makefile->AddDefinition(variable.c_str(), "");
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|