summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2010-11-16 19:45:53 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2010-11-16 19:45:53 (GMT)
commite7674ae1f05e78314ab7419bb5577a5bfce41234 (patch)
tree8c1d6f0099ea9222c70a7683c383d6201020c020
parent836c26673196800ec9e56cf5c29eb9c82e18b03f (diff)
parent1a0c166a266cade3bf07cc4d205dedfe2d570bd0 (diff)
downloadCMake-e7674ae1f05e78314ab7419bb5577a5bfce41234.zip
CMake-e7674ae1f05e78314ab7419bb5577a5bfce41234.tar.gz
CMake-e7674ae1f05e78314ab7419bb5577a5bfce41234.tar.bz2
Merge topic 'vs8-direct-depends'
1a0c166 Store direct dependencies in solutions for VS >= 8
-rw-r--r--Source/cmGlobalGenerator.cxx5
-rw-r--r--Source/cmGlobalVisualStudio8Generator.cxx14
-rw-r--r--Source/cmGlobalVisualStudio8Generator.h2
3 files changed, 18 insertions, 3 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 0def336..15abd02 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -699,9 +699,8 @@ bool cmGlobalGenerator::IsDependedOn(const char* project,
l != targets.end(); l++)
{
cmTarget& target = l->second;
- std::set<cmStdString>::const_iterator pos =
- target.GetUtilities().find(targetIn->GetName());
- if(pos != target.GetUtilities().end())
+ TargetDependSet const& tgtdeps = this->GetTargetDirectDepends(target);
+ if(tgtdeps.count(targetIn))
{
return true;
}
diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx
index 7c65c32..76d01e7 100644
--- a/Source/cmGlobalVisualStudio8Generator.cxx
+++ b/Source/cmGlobalVisualStudio8Generator.cxx
@@ -289,6 +289,20 @@ cmGlobalVisualStudio8Generator
}
//----------------------------------------------------------------------------
+void cmGlobalVisualStudio8Generator::WriteProjectDepends(
+ std::ostream& fout, const char*, const char*, cmTarget& t)
+{
+ TargetDependSet const& unordered = this->GetTargetDirectDepends(t);
+ OrderedTargetDependSet depends(unordered);
+ for(OrderedTargetDependSet::const_iterator i = depends.begin();
+ i != depends.end(); ++i)
+ {
+ std::string guid = this->GetGUID((*i)->GetName());
+ fout << "\t\t{" << guid << "} = {" << guid << "}\n";
+ }
+}
+
+//----------------------------------------------------------------------------
bool cmGlobalVisualStudio8Generator::NeedLinkLibraryDependencies(
cmTarget& target)
{
diff --git a/Source/cmGlobalVisualStudio8Generator.h b/Source/cmGlobalVisualStudio8Generator.h
index e0d5d80..95b6a17 100644
--- a/Source/cmGlobalVisualStudio8Generator.h
+++ b/Source/cmGlobalVisualStudio8Generator.h
@@ -78,6 +78,8 @@ protected:
virtual void WriteProjectConfigurations(std::ostream& fout,
const char* name,
bool partOfDefaultBuild);
+ virtual void WriteProjectDepends(std::ostream& fout, const char* name,
+ const char* path, cmTarget &t);
const char* ArchitectureId;
};