summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.h
diff options
context:
space:
mode:
authorNils Gladitz <nilsgladitz@gmail.com>2014-09-04 18:21:28 (GMT)
committerNils Gladitz <nilsgladitz@gmail.com>2014-09-11 19:23:17 (GMT)
commit188a1f236e1594fc46163fbad5e062e3978c1e5a (patch)
treeee62bcd7bc77a1defe2080a17451c01a985d293a /Source/cmMakefile.h
parentb900c1ccaae7a500dda88240873122d0d899bf93 (diff)
downloadCMake-188a1f236e1594fc46163fbad5e062e3978c1e5a.zip
CMake-188a1f236e1594fc46163fbad5e062e3978c1e5a.tar.gz
CMake-188a1f236e1594fc46163fbad5e062e3978c1e5a.tar.bz2
If: Introduce policy CMP0054 - don't dereference quoted variables in if()
Diffstat (limited to 'Source/cmMakefile.h')
-rw-r--r--Source/cmMakefile.h35
1 files changed, 34 insertions, 1 deletions
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index d728a62..164290a 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -21,6 +21,7 @@
#include "cmTarget.h"
#include "cmNewLineStyle.h"
#include "cmGeneratorTarget.h"
+#include "cmExpandedCommandArgument.h"
#include "cmake.h"
#if defined(CMAKE_BUILD_WITH_CMAKE)
@@ -375,7 +376,35 @@ public:
/**
* Get the Policies Instance
*/
- cmPolicies *GetPolicies() const;
+ cmPolicies *GetPolicies() const;
+
+ struct cmCMP0054Id
+ {
+ cmCMP0054Id(cmListFileContext const& context):
+ Context(context)
+ {
+
+ }
+
+ bool operator< (cmCMP0054Id const& id) const
+ {
+ if(this->Context.FilePath != id.Context.FilePath)
+ return this->Context.FilePath < id.Context.FilePath;
+
+ return this->Context.Line < id.Context.Line;
+ }
+
+ cmListFileContext Context;
+ };
+
+ mutable std::set<cmCMP0054Id> CMP0054ReportedIds;
+
+ /**
+ * Determine if the given context, name pair has already been reported
+ * in context of CMP0054.
+ */
+ bool HasCMP0054AlreadyBeenReported(
+ cmListFileContext context) const;
/**
* Add an auxiliary directory to the build.
@@ -770,6 +799,10 @@ public:
*/
bool ExpandArguments(std::vector<cmListFileArgument> const& inArgs,
std::vector<std::string>& outArgs) const;
+
+ bool ExpandArguments(std::vector<cmListFileArgument> const& inArgs,
+ std::vector<cmExpandedCommandArgument>& outArgs) const;
+
/**
* Get the instance
*/