summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmGlobalGenerator.cxx11
-rw-r--r--Source/cmGlobalGenerator.h2
-rw-r--r--Source/cmake.cxx5
3 files changed, 11 insertions, 7 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 390d6b4..65d74bd 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1212,7 +1212,7 @@ bool cmGlobalGenerator::CheckALLOW_DUPLICATE_CUSTOM_TARGETS() const
return false;
}
-void cmGlobalGenerator::Compute()
+bool cmGlobalGenerator::Compute()
{
// Some generators track files replaced during the Generate.
// Start with an empty vector:
@@ -1220,16 +1220,17 @@ void cmGlobalGenerator::Compute()
// clear targets to issue warning CMP0042 for
this->CMP0042WarnTargets.clear();
-}
-void cmGlobalGenerator::Generate()
-{
// Check whether this generator is allowed to run.
if(!this->CheckALLOW_DUPLICATE_CUSTOM_TARGETS())
{
- return;
+ return false;
}
+ return true;
+}
+void cmGlobalGenerator::Generate()
+{
this->FinalizeTargetCompileInfo();
this->CreateGenerationObjects();
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index 9c36cca..7bf6b24 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -86,7 +86,7 @@ public:
*/
virtual void Configure();
- void Compute();
+ bool Compute();
enum TargetTypes {
AllTargets,
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 619374e..ec8276e 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -1607,7 +1607,10 @@ int cmake::Generate()
{
return -1;
}
- this->GlobalGenerator->Compute();
+ if (!this->GlobalGenerator->Compute())
+ {
+ return -1;
+ }
this->GlobalGenerator->Generate();
if ( !this->GraphVizFile.empty() )
{