summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.h
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2005-03-18 15:41:41 (GMT)
committerKen Martin <ken.martin@kitware.com>2005-03-18 15:41:41 (GMT)
commit345cf0401235a1fd64bb9b1c353e0e3fc848d666 (patch)
tree6c1862e3516cd436f3068221ae9fcc11144724b8 /Source/cmLocalGenerator.h
parent1f9df24ba7e76cbd7ecc1816a9f8d46b61816e95 (diff)
downloadCMake-345cf0401235a1fd64bb9b1c353e0e3fc848d666.zip
CMake-345cf0401235a1fd64bb9b1c353e0e3fc848d666.tar.gz
CMake-345cf0401235a1fd64bb9b1c353e0e3fc848d666.tar.bz2
ENH: big change that includes immediate subdir support, removing the notion of inherited commands, makefiles no longer read in the parent makefiles but instead inherit thier parent makefiles current settings
Diffstat (limited to 'Source/cmLocalGenerator.h')
-rw-r--r--Source/cmLocalGenerator.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 0ff3725..8d3009b 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -39,13 +39,9 @@ public:
virtual ~cmLocalGenerator();
/**
- * Generate the makefile for this directory. fromTheTop indicates if this
- * is being invoked as part of a global Generate or specific to this
- * directory. The difference is that when done from the Top we might skip
- * some steps to save time, such as dependency generation for the
- * makefiles. This is done by a direct invocation from make.
+ * Generate the makefile for this directory.
*/
- virtual void Generate(bool /* fromTheTop */) {};
+ virtual void Generate() {};
/**
* Process the CMakeLists files for this directory to fill in the
@@ -118,7 +114,12 @@ public:
///! set/get the parent generator
cmLocalGenerator* GetParent(){return m_Parent;}
- void SetParent(cmLocalGenerator* g) { m_Parent = g;}
+ void SetParent(cmLocalGenerator* g) { m_Parent = g; g->AddChild(this); }
+
+ ///! set/get the children
+ void AddChild(cmLocalGenerator* g) { this->Children.push_back(g); }
+ std::vector<cmLocalGenerator*>& GetChildren() { return this->Children; };
+
void AddLanguageFlags(std::string& flags, const char* lang);
void AddSharedFlags(std::string& flags, const char* lang, bool shared);
@@ -185,10 +186,12 @@ protected:
std::vector<std::string> m_CurrentOutputDirectoryComponents;
bool m_ExcludeFromAll;
cmLocalGenerator* m_Parent;
+ std::vector<cmLocalGenerator*> Children;
std::map<cmStdString, cmStdString> m_LanguageToIncludeFlags;
bool m_WindowsShell;
bool m_UseRelativePaths;
bool m_IgnoreLibPrefix;
+ bool Configured;
};
#endif