diff options
author | Ken Martin <ken.martin@kitware.com> | 2006-12-07 14:45:32 (GMT) |
---|---|---|
committer | Ken Martin <ken.martin@kitware.com> | 2006-12-07 14:45:32 (GMT) |
commit | 27379d7b081be852c2b290a98db548cffffbff04 (patch) | |
tree | fcc9e19282bdfb71bf4bf9b1f8fcea1401c2fbd5 /Source/cmMakefile.h | |
parent | 833548f53a2ed799bb0df23fd7d973c30b423d1b (diff) | |
download | CMake-27379d7b081be852c2b290a98db548cffffbff04.zip CMake-27379d7b081be852c2b290a98db548cffffbff04.tar.gz CMake-27379d7b081be852c2b290a98db548cffffbff04.tar.bz2 |
ENH: make properties a bit more formal with documentation and chaining
Diffstat (limited to 'Source/cmMakefile.h')
-rw-r--r-- | Source/cmMakefile.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 943466f..cc4d3c9 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -22,6 +22,7 @@ #include "cmTarget.h" #include "cmListFileCache.h" #include "cmCacheManager.h" +#include "cmPropertyMap.h" #if defined(CMAKE_BUILD_WITH_CMAKE) #include "cmSourceGroup.h" @@ -697,7 +698,12 @@ public: ///! Set/Get a property of this directory void SetProperty(const char *prop, const char *value); const char *GetProperty(const char *prop); - bool GetPropertyAsBool(const char *prop) const; + const char *GetPropertyOrDefinition(const char *prop); + const char *GetProperty(const char *prop, cmProperty::ScopeType scope); + bool GetPropertyAsBool(const char *prop); + + // Get the properties + cmPropertyMap &GetProperties() { return this->Properties; }; typedef std::map<cmStdString, cmStdString> DefinitionMap; ///! Initialize a makefile from its parent @@ -711,6 +717,10 @@ public: { this->InstallGenerators.push_back(g); } std::vector<cmInstallGenerator*>& GetInstallGenerators() { return this->InstallGenerators; } + + // Define the properties + static void DefineProperties(cmake *cm); + protected: // add link libraries and directories to the target void AddGlobalLinkInformation(const char* name, cmTarget& target); @@ -791,7 +801,7 @@ private: cmsys::RegularExpression cmDefineRegex; cmsys::RegularExpression cmDefine01Regex; - std::map<cmStdString,cmStdString> Properties; + cmPropertyMap Properties; // should this makefile be processed before or after processing the parent bool PreOrder; |