diff options
author | Brad King <brad.king@kitware.com> | 2019-01-15 18:11:23 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2019-01-15 18:12:08 (GMT) |
commit | b2084a330d73f92b7d55d22921b2e2d9e1d462cc (patch) | |
tree | 1b38b33e138726bd342af77a2f36b6c702f26d80 | |
parent | 5d3b8eed4bf7d4b4b2534861aa96f517479596af (diff) | |
parent | 6845e2559d66be8d2c67d936ca597ade05b4ebbc (diff) | |
download | CMake-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.rst | 8 | ||||
-rw-r--r-- | Source/cmMakefile.cxx | 6 | ||||
-rw-r--r-- | Tests/RunCMake/CMP0064/CMP0064-OLD-stderr.txt | 10 |
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\)$ |