summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.cxx
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2012-02-01 19:49:10 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2012-02-01 19:49:10 (GMT)
commit3e0eeb9fc832cde370ea70b1b3c8e7ebb42c860a (patch)
treee2577e3854711cdb0b5c29619462b01df6b9fb79 /Source/cmGlobalGenerator.cxx
parent94af99d38813236bc381d2a8df2901fab09ea595 (diff)
parentf9c1c6225c4366918465b86e4c6976ecc266245f (diff)
downloadCMake-3e0eeb9fc832cde370ea70b1b3c8e7ebb42c860a.zip
CMake-3e0eeb9fc832cde370ea70b1b3c8e7ebb42c860a.tar.gz
CMake-3e0eeb9fc832cde370ea70b1b3c8e7ebb42c860a.tar.bz2
Merge topic 'imported-target-visibility'
f9c1c62 Add test covering imported target scope rules ca39c5c Optionally allow IMPORTED targets to be globally visible
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
-rw-r--r--Source/cmGlobalGenerator.cxx17
1 files changed, 14 insertions, 3 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 124519a..8dce053 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1666,6 +1666,11 @@ cmGlobalGenerator::FindTarget(const char* project, const char* name)
{
return i->second;
}
+ i = this->ImportedTargets.find(name);
+ if ( i != this->ImportedTargets.end() )
+ {
+ return i->second;
+ }
}
return 0;
}
@@ -2046,10 +2051,16 @@ cmGlobalGenerator::GetTargetDirectDepends(cmTarget & target)
return this->TargetDependencies[&target];
}
-void cmGlobalGenerator::AddTarget(cmTargets::value_type &v)
+void cmGlobalGenerator::AddTarget(cmTarget* t)
{
- assert(!v.second.IsImported());
- this->TotalTargets[v.first] = &v.second;
+ if(t->IsImported())
+ {
+ this->ImportedTargets[t->GetName()] = t;
+ }
+ else
+ {
+ this->TotalTargets[t->GetName()] = t;
+ }
}
void cmGlobalGenerator::SetExternalMakefileProjectGenerator(