summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmMakefile.cxx22
1 files changed, 15 insertions, 7 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 1f6b8f2..3e3c87b 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -669,13 +669,18 @@ AddCustomCommandToOutput(const char* outputIn,
}
// create a cmSourceFile for the output
file = this->GetOrCreateSource(outName.c_str(), true);
- // always mark as generated
- file->SetProperty("GENERATED","1");
+ if(file)
+ {
+ // always mark as generated
+ file->SetProperty("GENERATED","1");
+ }
}
// always create the output and mark it generated
- cmSourceFile *out = this->GetOrCreateSource(output.c_str(), true);
- out->SetProperty("GENERATED","1");
+ if(cmSourceFile *out = this->GetOrCreateSource(output.c_str(), true))
+ {
+ out->SetProperty("GENERATED","1");
+ }
std::vector<std::string> depends2(depends);
if (main_dependency && main_dependency[0] != '\0')
@@ -689,11 +694,14 @@ AddCustomCommandToOutput(const char* outputIn,
{
cc->SetComment(comment);
}
- if (file->GetCustomCommand())
+ if(file)
{
- delete file->GetCustomCommand();
+ if (file->GetCustomCommand())
+ {
+ delete file->GetCustomCommand();
+ }
+ file->SetCustomCommand(cc);
}
- file->SetCustomCommand(cc);
}
void cmMakefile::