summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.h
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2008-03-01 20:20:35 (GMT)
committerKen Martin <ken.martin@kitware.com>2008-03-01 20:20:35 (GMT)
commitd49ef18f8a9ebe4e512d67d3fb88958c655beb69 (patch)
treea40a7a4649f9a7137579c6c22be29846f97d72c3 /Source/cmMakefile.h
parent32ca01bef0fe4218319d9c9fd02ea11336f5e134 (diff)
downloadCMake-d49ef18f8a9ebe4e512d67d3fb88958c655beb69.zip
CMake-d49ef18f8a9ebe4e512d67d3fb88958c655beb69.tar.gz
CMake-d49ef18f8a9ebe4e512d67d3fb88958c655beb69.tar.bz2
ENH: add first cut and policies still need to add the doc support
Diffstat (limited to 'Source/cmMakefile.h')
-rw-r--r--Source/cmMakefile.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 4c99df1..819de0d 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -21,6 +21,7 @@
#include "cmData.h"
#include "cmExecutionStatus.h"
#include "cmListFileCache.h"
+#include "cmPolicies.h"
#include "cmPropertyMap.h"
#include "cmSystemTools.h"
#include "cmTarget.h"
@@ -322,7 +323,24 @@ public:
const char* regex=0);
#endif
-
+
+ //@{
+ /**
+ * Set, Push, Pop policy values for CMake.
+ */
+ bool SetPolicy(cmPolicies::PolicyID id, cmPolicies::PolicyStatus status);
+ bool SetPolicy(const char *id, cmPolicies::PolicyStatus status);
+ cmPolicies::PolicyStatus GetPolicyStatus(cmPolicies::PolicyID id);
+ bool PushPolicy();
+ bool PopPolicy();
+ bool SetPolicyVersion(const char *version);
+ //@}
+
+ /**
+ * Get the Policies Instance
+ */
+ cmPolicies *GetPolicies();
+
/**
* Add an auxiliary directory to the build.
*/
@@ -861,6 +879,11 @@ private:
cmTarget* FindBasicTarget(const char* name);
std::vector<cmTarget*> ImportedTargetsOwned;
std::map<cmStdString, cmTarget*> ImportedTargets;
+
+ // stack of policy settings
+ typedef std::map<cmPolicies::PolicyID,
+ cmPolicies::PolicyStatus> PolicyMap;
+ std::vector<PolicyMap> PolicyStack;
};