diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-05-09 18:41:38 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-05-09 18:41:38 (GMT) |
commit | 8245f437b6528cfa86dda12e566a32c810f2d64a (patch) | |
tree | 2a7cbdef5bc06663e403b19af241b1acb7402d63 /Source/cmGlobalGenerator.cxx | |
parent | 181f4cb0aff97af0b5251ad3347e00efe7310ba9 (diff) | |
download | CMake-8245f437b6528cfa86dda12e566a32c810f2d64a.zip CMake-8245f437b6528cfa86dda12e566a32c810f2d64a.tar.gz CMake-8245f437b6528cfa86dda12e566a32c810f2d64a.tar.bz2 |
BUG: fix problem for non-C/CXX languages with Visual Studio, the
dependencies for the custom commands added for java were not handled
correctly. Needs more work.
Alex
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
-rw-r--r-- | Source/cmGlobalGenerator.cxx | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 1691308..6273f15 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -717,14 +717,12 @@ void cmGlobalGenerator::Configure() } // at this point this->LocalGenerators has been filled, // so create the map from project name to vector of local generators - this->FillProjectMap(); + this->FillProjectMap(); // now create project to target map // This will make sure that targets have all the // targets they depend on as part of the build. - this->FillProjectToTargetMap(); - // now trace all dependencies - this->TraceDependencies(); - + this->FillProjectToTargetMap(); + if ( !this->CMakeInstance->GetScriptMode() ) { this->CMakeInstance->UpdateProgress("Configuring done", -1); @@ -735,6 +733,19 @@ void cmGlobalGenerator::Generate() { // For each existing cmLocalGenerator unsigned int i; + + // Add generator specific helper commands + for (i = 0; i < this->LocalGenerators.size(); ++i) + { + this->LocalGenerators[i]->AddHelperCommands(); + } + + // Trace the dependencies, after that no custom commands should be added + // because their dependencies might not be handled correctly + for (i = 0; i < this->LocalGenerators.size(); ++i) + { + this->LocalGenerators[i]->TraceDependencies(); + } // Consolidate global targets cmTargets globalTargets; @@ -1043,14 +1054,6 @@ const char* cmGlobalGenerator::GetLinkerPreference(const char* lang) return "None"; } -void cmGlobalGenerator::TraceDependencies() -{ - for (unsigned int i = 0; i < this->LocalGenerators.size(); ++i) - { - this->LocalGenerators[i]->TraceDependencies(); - } -} - void cmGlobalGenerator::FillProjectMap() { this->ProjectMap.clear(); // make sure we start with a clean map |