Fix detection of system files
Instead of looking to see if the file is under CMAKE_ROOT, check to see if it is instead under the source or binary directories in use.
This commit is contained in:
parent
d784e6af4d
commit
300fc15779
|
@ -130,8 +130,10 @@ char* cmCommandArgumentParserHelper::ExpandVariable(const char* var)
|
|||
// not been "cleared"/initialized with a set(foo ) call
|
||||
if(this->WarnUninitialized && !this->Makefile->VariableInitialized(var))
|
||||
{
|
||||
const char* root = this->Makefile->GetDefinition("CMAKE_ROOT");
|
||||
if (this->CheckSystemVars || strstr(this->FileName, root) != this->FileName)
|
||||
const char* srcRoot = this->Makefile->GetDefinition("CMAKE_SOURCE_DIR");
|
||||
const char* binRoot = this->Makefile->GetDefinition("CMAKE_BINARY_DIR");
|
||||
if (this->CheckSystemVars || strstr(this->FileName, srcRoot) == this->FileName ||
|
||||
strstr(this->FileName, binRoot) == this->FileName)
|
||||
{
|
||||
cmOStringStream msg;
|
||||
msg << this->FileName << ":" << this->FileLine << ":" <<
|
||||
|
|
|
@ -3392,8 +3392,9 @@ void cmMakefile::PopScope()
|
|||
if (this->WarnUnused && usage.find(*it) == usage.end())
|
||||
{
|
||||
const char* cdir = this->ListFileStack.back().c_str();
|
||||
const char* root = this->GetDefinition("CMAKE_ROOT");
|
||||
if (this->CheckSystemVars || strstr(cdir, root) != cdir)
|
||||
const char* srcRoot = this->GetDefinition("CMAKE_SOURCE_DIR");
|
||||
const char* binRoot = this->GetDefinition("CMAKE_BINARY_DIR");
|
||||
if (this->CheckSystemVars || strstr(cdir, srcRoot) == cdir || strstr(cdir, binRoot) == cdir)
|
||||
{
|
||||
cmOStringStream m;
|
||||
m << "unused variable \'" << *it << "\'";
|
||||
|
|
Loading…
Reference in New Issue