summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.h
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2008-01-30 17:04:38 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2008-01-30 17:04:38 (GMT)
commit8a83f096371ecc4f73afe43830e94899c704d5cf (patch)
treee035e45d661fcc35189daafa686484577b502ddc /Source/cmGlobalGenerator.h
parent21e6791789be947c471d0c551e69364e9f475b7e (diff)
downloadCMake-8a83f096371ecc4f73afe43830e94899c704d5cf.zip
CMake-8a83f096371ecc4f73afe43830e94899c704d5cf.tar.gz
CMake-8a83f096371ecc4f73afe43830e94899c704d5cf.tar.bz2
ENH: fix for bug 3218 dependant projects are written out automatically if they are in the project. Also fix bug 5829, remove hard coded CMAKE_CONFIGURATION_TYPES from vs 7 generator
Diffstat (limited to 'Source/cmGlobalGenerator.h')
-rw-r--r--Source/cmGlobalGenerator.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index 4654a41..b40b5d8 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -234,8 +234,9 @@ public:
// Class to track a set of dependencies.
class TargetDependSet: public std::set<cmTarget const*> {};
- // what targets does the specified target depend on
- TargetDependSet const& GetTargetDepends(cmTarget const& target);
+ // what targets does the specified target depend on directly
+ // via a target_link_libraries or add_dependencies
+ TargetDependSet const& GetTargetDirectDepends(cmTarget const& target);
const std::map<cmStdString, std::vector<cmLocalGenerator*> >& GetProjectMap()
const {return this->ProjectMap;}
@@ -245,6 +246,15 @@ public:
void GetFilesReplacedDuringGenerate(std::vector<std::string>& filenames);
protected:
+ // for a project collect all its targets by following depend
+ // information, and also collect all the targets
+ void GetTargetSets(cmGlobalGenerator::TargetDependSet& projectTargets,
+ cmGlobalGenerator::TargetDependSet& originalTargets,
+ cmLocalGenerator* root,
+ std::vector<cmLocalGenerator*> const& generators);
+ void AddTargetDepends(cmTarget* target,
+ cmGlobalGenerator::TargetDependSet&
+ projectTargets);
void SetLanguageEnabledFlag(const char* l, cmMakefile* mf);
void SetLanguageEnabledMaps(const char* l, cmMakefile* mf);