summaryrefslogtreecommitdiff
path: root/Source/cmMacroCommand.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmMacroCommand.cxx')
-rw-r--r--Source/cmMacroCommand.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx
index 230683ef3e..e445814fb5 100644
--- a/Source/cmMacroCommand.cxx
+++ b/Source/cmMacroCommand.cxx
@@ -107,9 +107,15 @@ ShouldRemove(const cmListFileFunction&, cmMakefile &)
}
void cmMacroFunctionBlocker::
-ScopeEnded(cmMakefile &)
+ScopeEnded(cmMakefile &mf)
{
- // macros never leave scope
+ // macros never leave scope but we should have seen the ENDMACRO call by now
+ if (m_Executing != true)
+ {
+ cmSystemTools::Error("The end of a CMakeLists file was reached with a MACRO statement that was not closed properly. Within the directory: ",
+ mf.GetCurrentDirectory(), " with macro ",
+ m_Args[0].c_str());
+ }
}
bool cmMacroCommand::InitialPass(std::vector<std::string> const& args)