summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmMakefile.cxx')
-rw-r--r--Source/cmMakefile.cxx14
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 2e9ef62..c5eb0fa 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -465,15 +465,22 @@ void cmMakefile::AddCustomCommand(const char* source,
sname += ".rule";
if (!this->GetSource(sname.c_str()))
{
- m_Targets[target].GetSourceLists().push_back(source);
+ if (m_Targets.find(target) != m_Targets.end())
+ {
+ m_Targets[target].GetSourceLists().push_back(source);
+ }
+ else
+ {
+ cmSystemTools::Error("Attempt to add a custom rule to a target that does not exist yet for target ", target);
+ return;
+ }
}
}
}
else
{
this->AddCustomCommandToTarget(target, command, commandArgs,
- cmTarget::POST_BUILD,
- comment);
+ cmTarget::POST_BUILD, comment);
}
}
@@ -931,7 +938,6 @@ void cmMakefile::AddExecutable(const char *exeName,
this->AddGlobalLinkInformation(exeName, target);
m_Targets.insert(cmTargets::value_type(exeName,target));
-
// Add an entry into the cache
std::string exePath = exeName;
exePath += "_CMAKE_PATH";