diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmMakefile.cxx | 15 | ||||
-rw-r--r-- | Source/cmPolicies.cxx | 5 | ||||
-rw-r--r-- | Source/cmPolicies.h | 2 |
3 files changed, 20 insertions, 2 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 6fbcaeb..ec1d814 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -4209,8 +4209,19 @@ const char *cmMakefile::GetProperty(const std::string& prop, } else if (prop == "DEFINITIONS") { - output += this->DefineFlagsOrig; - return output.c_str(); + switch(this->GetPolicyStatus(cmPolicies::CMP0059)) + { + case cmPolicies::WARN: + this->IssueMessage(cmake::AUTHOR_WARNING, this->GetPolicies()-> + GetPolicyWarning(cmPolicies::CMP0059)); + case cmPolicies::OLD: + output += this->DefineFlagsOrig; + return output.c_str(); + case cmPolicies::NEW: + case cmPolicies::REQUIRED_ALWAYS: + case cmPolicies::REQUIRED_IF_USED: + break; + } } else if (prop == "LINK_DIRECTORIES") { diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 592df8f..0a61bca 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -385,6 +385,11 @@ cmPolicies::cmPolicies() CMP0058, "CMP0058", "Ninja requires custom command byproducts to be explicit.", 3,3,0, cmPolicies::WARN); + + this->DefinePolicy( + CMP0059, "CMP0059", + "Do no treat DEFINITIONS as a built-in directory property.", + 3,3,0, cmPolicies::WARN); } cmPolicies::~cmPolicies() diff --git a/Source/cmPolicies.h b/Source/cmPolicies.h index b18b337..ced9d8c 100644 --- a/Source/cmPolicies.h +++ b/Source/cmPolicies.h @@ -116,6 +116,8 @@ public: CMP0057, ///< Disallow multiple MAIN_DEPENDENCY specifications /// for the same file. CMP0058, ///< Ninja requires custom command byproducts to be explicit + CMP0059, ///< Do not treat ``DEFINITIONS`` as a built-in directory + /// property. /** \brief Always the last entry. * |