summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/cmMakefile.cxx15
-rw-r--r--Source/cmVariableWatch.h1
2 files changed, 15 insertions, 1 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index c26d5ab..b0dfb41 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -921,7 +921,20 @@ const char* cmMakefile::GetDefinition(const char* name) const
}
else
{
- vv->VariableAccessed(name, cmVariableWatch::UNKNOWN_VARIABLE_READ_ACCESS);
+ // are unknown access allowed
+ DefinitionMap::const_iterator pos2 =
+ m_Definitions.find("CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS");
+ if (pos2 != m_Definitions.end() &&
+ cmSystemTools::IsOn((*pos2).second.c_str()))
+ {
+ vv->VariableAccessed(name,
+ cmVariableWatch::ALLOWED_UNKNOWN_VARIABLE_READ_ACCESS);
+ }
+ else
+ {
+ vv->VariableAccessed(name, cmVariableWatch::
+ UNKNOWN_VARIABLE_READ_ACCESS);
+ }
}
}
return def;
diff --git a/Source/cmVariableWatch.h b/Source/cmVariableWatch.h
index db85371..9a978bd 100644
--- a/Source/cmVariableWatch.h
+++ b/Source/cmVariableWatch.h
@@ -49,6 +49,7 @@ public:
{
VARIABLE_READ_ACCESS,
UNKNOWN_VARIABLE_READ_ACCESS,
+ ALLOWED_UNKNOWN_VARIABLE_READ_ACCESS,
VARIABLE_MODIFIED_ACCESS,
VARIABLE_REMOVED_ACCESS,
NO_ACCESS