summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-01-15 18:11:23 (GMT)
committerKitware Robot <kwrobot@kitware.com>2019-01-15 18:12:08 (GMT)
commitb2084a330d73f92b7d55d22921b2e2d9e1d462cc (patch)
tree1b38b33e138726bd342af77a2f36b6c702f26d80
parent5d3b8eed4bf7d4b4b2534861aa96f517479596af (diff)
parent6845e2559d66be8d2c67d936ca597ade05b4ebbc (diff)
downloadCMake-b2084a330d73f92b7d55d22921b2e2d9e1d462cc.zip
CMake-b2084a330d73f92b7d55d22921b2e2d9e1d462cc.tar.gz
CMake-b2084a330d73f92b7d55d22921b2e2d9e1d462cc.tar.bz2
Merge topic 'deprecate-policy-old'
6845e2559d Add deprecation warnings for policies CMP0065 and below Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2793
-rw-r--r--Help/release/dev/deprecate-policy-old.rst8
-rw-r--r--Source/cmMakefile.cxx6
-rw-r--r--Tests/RunCMake/CMP0064/CMP0064-OLD-stderr.txt10
3 files changed, 23 insertions, 1 deletions
diff --git a/Help/release/dev/deprecate-policy-old.rst b/Help/release/dev/deprecate-policy-old.rst
new file mode 100644
index 0000000..2c99780
--- /dev/null
+++ b/Help/release/dev/deprecate-policy-old.rst
@@ -0,0 +1,8 @@
+deprecate-policy-old
+--------------------
+
+* An explicit deprecation diagnostic was added for policies ``CMP0064``
+ and ``CMP0065`` (``CMP0063`` and below were already deprecated).
+ The :manual:`cmake-policies(7)` manual explains that the OLD behaviors
+ of all policies are deprecated and that projects should port to the
+ NEW behaviors.
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 68a5101..891ca61 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -4232,7 +4232,11 @@ bool cmMakefile::SetPolicy(cmPolicies::PolicyID id,
// Deprecate old policies, especially those that require a lot
// of code to maintain the old behavior.
- if (status == cmPolicies::OLD && id <= cmPolicies::CMP0063) {
+ if (status == cmPolicies::OLD && id <= cmPolicies::CMP0065 &&
+ !(this->GetCMakeInstance()->GetIsInTryCompile() &&
+ (
+ // Policies set by cmCoreTryCompile::TryCompileCode.
+ id == cmPolicies::CMP0065))) {
this->IssueMessage(cmake::DEPRECATION_WARNING,
cmPolicies::GetPolicyDeprecatedWarning(id));
}
diff --git a/Tests/RunCMake/CMP0064/CMP0064-OLD-stderr.txt b/Tests/RunCMake/CMP0064/CMP0064-OLD-stderr.txt
new file mode 100644
index 0000000..987a503
--- /dev/null
+++ b/Tests/RunCMake/CMP0064/CMP0064-OLD-stderr.txt
@@ -0,0 +1,10 @@
+^CMake Deprecation Warning at CMP0064-OLD.cmake:1 \(cmake_policy\):
+ The OLD behavior for policy CMP0064 will be removed from a future version
+ of CMake.
+
+ The cmake-policies\(7\) manual explains that the OLD behaviors of all
+ policies are deprecated and that a policy should be set to OLD only under
+ specific short-term circumstances. Projects should be ported to the NEW
+ behavior and not rely on setting a policy to OLD.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)$