summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmGlobalVisualStudioGenerator.cxx24
-rw-r--r--Source/cmGlobalVisualStudioGenerator.h3
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);