diff options
-rw-r--r-- | Source/cmGlobalVisualStudioGenerator.cxx | 24 | ||||
-rw-r--r-- | Source/cmGlobalVisualStudioGenerator.h | 3 |
2 files changed, 27 insertions, 0 deletions
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx index bc67151..85b4a71 100644 --- a/Source/cmGlobalVisualStudioGenerator.cxx +++ b/Source/cmGlobalVisualStudioGenerator.cxx @@ -409,6 +409,30 @@ cmGlobalVisualStudioGenerator::GetUtilityForTarget(cmTarget& target, } //---------------------------------------------------------------------------- +void cmGlobalVisualStudioGenerator::GetTargetSets( + TargetDependSet& projectTargets, TargetDependSet& originalTargets, + cmLocalGenerator* root, GeneratorVector const& generators + ) +{ + this->cmGlobalGenerator::GetTargetSets(projectTargets, originalTargets, + root, generators); + + // Add alternative dependency targets created by FixUtilityDepends. + for(TargetDependSet::iterator ti = projectTargets.begin(); + ti != projectTargets.end(); ++ti) + { + cmTarget* tgt = *ti; + if(const char* altName = tgt->GetProperty("ALTERNATIVE_DEPENDENCY_NAME")) + { + if(cmTarget* alt = tgt->GetMakefile()->FindTarget(altName)) + { + projectTargets.insert(alt); + } + } + } +} + +//---------------------------------------------------------------------------- #include <windows.h> //---------------------------------------------------------------------------- diff --git a/Source/cmGlobalVisualStudioGenerator.h b/Source/cmGlobalVisualStudioGenerator.h index c601cc4..d799485 100644 --- a/Source/cmGlobalVisualStudioGenerator.h +++ b/Source/cmGlobalVisualStudioGenerator.h @@ -85,6 +85,9 @@ protected: OrderedTargetDependSet(cmGlobalGenerator::TargetDependSet const&); }; + virtual void GetTargetSets(TargetDependSet& projectTargets, + TargetDependSet& originalTargets, + cmLocalGenerator* root, GeneratorVector const&); private: void FixUtilityDependsForTarget(cmTarget& target); void CreateUtilityDependTarget(cmTarget& target); |