summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmMakefile.h')
-rw-r--r--Source/cmMakefile.h40
1 files changed, 18 insertions, 22 deletions
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 2fed10d..3bb7a29 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -24,8 +24,6 @@
#include "cmListFileCache.h"
#include "cmCacheManager.h"
-#include "cmSubDirectory.h"
-
#include <cmsys/RegularExpression.hxx>
class cmFunctionBlocker;
@@ -215,9 +213,15 @@ public:
*/
void AddSubDirectory(const char*, bool includeTopLevel=true, bool preorder = false);
void AddSubDirectory(const char* fullSrcDir,const char *fullBinDir,
- bool includeTopLevel=true, bool preorder = false);
+ bool includeTopLevel, bool preorder,
+ bool immediate);
/**
+ * Configure a subdirectory
+ */
+ void ConfigureSubDirectory(cmLocalGenerator *);
+
+ /**
* Add an include directory to the build.
*/
void AddIncludeDirectory(const char*, bool before = false);
@@ -417,13 +421,6 @@ public:
const cmTargets &GetTargets() const { return m_Targets; }
cmTarget* FindTarget(const char* name);
- /**
- * Get a list of the build subdirectories.
- */
- const std::vector<cmSubDirectory>& GetSubDirectories()
- {
- return m_SubDirectories;
- }
/**
* Get a list of include directories in the build.
@@ -662,6 +659,14 @@ public:
const char *GetProperty(const char *prop) const;
bool GetPropertyAsBool(const char *prop) const;
+ typedef std::map<cmStdString, cmStdString> DefinitionMap;
+ ///! Initialize a makefile from its parent
+ void InitializeFromParent();
+
+ ///! Set/Get the preorder flag
+ void SetPreOrder(bool p) { this->PreOrder = p; }
+ bool GetPreOrder() { return this->PreOrder; }
+
protected:
// add link libraries and directories to the target
void AddGlobalLinkInformation(const char* name, cmTarget& target);
@@ -684,12 +689,6 @@ protected:
cmTargets m_Targets;
std::vector<cmSourceFile*> m_SourceFiles;
- // list of sub directories
- std::vector<cmSubDirectory> m_SubDirectories;
- struct StringSet : public std::set<cmStdString>
- {
- };
-
// The include and link-library paths. These may have order
// dependency, so they must be vectors (not set).
std::vector<std::string> m_IncludeDirectories;
@@ -706,17 +705,12 @@ protected:
std::vector<std::string> m_HeaderFileExtensions;
std::string m_DefineFlags;
std::vector<cmSourceGroup> m_SourceGroups;
- typedef std::map<cmStdString, cmStdString> DefinitionMap;
DefinitionMap m_Definitions;
std::vector<cmCommand*> m_UsedCommands;
cmLocalGenerator* m_LocalGenerator;
bool IsFunctionBlocked(const cmListFileFunction& lff);
private:
- /**
- * Get the name of the parent generator's CMakeLists file
- */
- std::string GetParentListFileName();
void ReadSources(std::ifstream& fin, bool t);
friend class cmMakeDepend; // make depend needs direct access
@@ -728,7 +722,6 @@ private:
typedef std::map<cmStdString, cmData*> DataMap;
DataMap m_DataMap;
- bool m_Inheriting;
typedef std::map<cmStdString, cmStdString> StringStringMap;
StringStringMap m_MacrosMap;
@@ -740,6 +733,9 @@ private:
cmsys::RegularExpression m_cmDefineRegex;
std::map<cmStdString,cmStdString> m_Properties;
+
+ // should this makefile be processed before or after processing the parent
+ bool PreOrder;
};