summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-04-04 15:48:19 (GMT)
committerBrad King <brad.king@kitware.com>2006-04-04 15:48:19 (GMT)
commit2301a025ea1ed9a61cf0028f88b32f726162fbf7 (patch)
tree2e9f8ba74c01e98c9b22c846edc34a06865b6ae8 /Source/cmGlobalGenerator.cxx
parentcddedaa7d85c1a4ccc3502a6ec56f6e6cdea6f90 (diff)
downloadCMake-2301a025ea1ed9a61cf0028f88b32f726162fbf7.zip
CMake-2301a025ea1ed9a61cf0028f88b32f726162fbf7.tar.gz
CMake-2301a025ea1ed9a61cf0028f88b32f726162fbf7.tar.bz2
ENH: Added global TargetManifest computation between Configure and Generate steps. This allows generators to know what other targets will exist on disk when the build completes.
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
-rw-r--r--Source/cmGlobalGenerator.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 6b64277..9e9bbe4 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -701,8 +701,6 @@ void cmGlobalGenerator::Generate()
}
}
}
-
- // Generate project files
for (i = 0; i < this->LocalGenerators.size(); ++i)
{
cmTargets* targets = &(this->LocalGenerators[i]->GetMakefile()->GetTargets());
@@ -711,6 +709,17 @@ void cmGlobalGenerator::Generate()
{
(*targets)[tit->first] = tit->second;
}
+ }
+
+ // Compute the manifest of main targets generated.
+ for (i = 0; i < this->LocalGenerators.size(); ++i)
+ {
+ this->LocalGenerators[i]->GenerateTargetManifest(this->TargetManifest);
+ }
+
+ // Generate project files
+ for (i = 0; i < this->LocalGenerators.size(); ++i)
+ {
this->LocalGenerators[i]->Generate();
this->LocalGenerators[i]->GenerateInstallRules();
this->LocalGenerators[i]->GenerateTestFiles();