1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-18 00:02:21 +08:00

CMP0010: Remove support for OLD behavior

This commit is contained in:
Brad King
2024-11-07 17:39:17 -05:00
parent 77f8c374f3
commit cf832e75bc
10 changed files with 10 additions and 52 deletions

View File

@@ -1,6 +1,9 @@
CMP0010
-------
.. |REMOVED_IN_CMAKE_VERSION| replace:: 4.0
.. include:: REMOVED_PROLOGUE.txt
Bad variable reference syntax is an error.
In CMake 2.6.2 and below, incorrect variable reference syntax such as
@@ -14,7 +17,5 @@ If :policy:`CMP0053` is set to ``NEW``, this policy has no effect
and is treated as always being ``NEW``.
.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 2.6.3
.. |WARNS_OR_DOES_NOT_WARN| replace:: warns
.. include:: STANDARD_ADVICE.txt
.. include:: DEPRECATED.txt
.. |WARNED_OR_DID_NOT_WARN| replace:: warned
.. include:: REMOVED_EPILOGUE.txt

View File

@@ -2880,30 +2880,7 @@ MessageType cmMakefile::ExpandVariablesInStringOld(
error += cmStrCat("at\n ", filename, ':', line, '\n');
}
error += cmStrCat("when parsing string\n ", source, '\n', emsg);
// If the parser failed ("res" is false) then this is a real
// argument parsing error, so the policy applies. Otherwise the
// parser reported an error message without failing because the
// helper implementation is unhappy, which has always reported an
// error.
mtype = MessageType::FATAL_ERROR;
if (!res) {
// This is a real argument parsing error. Use policy CMP0010 to
// decide whether it is an error.
switch (this->GetPolicyStatus(cmPolicies::CMP0010)) {
case cmPolicies::WARN:
error +=
cmStrCat('\n', cmPolicies::GetPolicyWarning(cmPolicies::CMP0010));
CM_FALLTHROUGH;
case cmPolicies::OLD:
// OLD behavior is to just warn and continue.
mtype = MessageType::AUTHOR_WARNING;
break;
case cmPolicies::NEW:
// NEW behavior is to report the error.
break;
}
}
errorstr = std::move(error);
}
return mtype;
@@ -3236,9 +3213,6 @@ MessageType cmMakefile::ExpandVariablesInStringNew(
// Check for open variable references yet.
if (!error && !openstack.empty()) {
// There's an open variable reference waiting. Policy CMP0010 flags
// whether this is an error or not. The new parser now enforces
// CMP0010 as well.
errorstr += "There is an unterminated variable reference.";
error = true;
}

View File

@@ -44,7 +44,7 @@ class cmMakefile;
"FILE GLOB_RECURSE calls should not follow symlinks by default.", 2, \
6, 2, NEW) \
SELECT(POLICY, CMP0010, "Bad variable reference syntax is an error.", 2, 6, \
3, WARN) \
3, NEW) \
SELECT(POLICY, CMP0011, \
"Included scripts do automatic cmake_policy PUSH and POP.", 2, 6, 3, \
WARN) \

View File

@@ -1,3 +1,3 @@
cmake_minimum_required(VERSION 2.8.12)
cmake_minimum_required(VERSION 3.0)
project(${RunCMake_TEST} NONE)
include(${RunCMake_TEST}.cmake)

View File

@@ -69,7 +69,6 @@ run_cmake(UnterminatedCall2)
run_cmake(UnterminatedString)
run_cmake(UnterminatedBrace0)
run_cmake(UnterminatedBrace1)
run_cmake(UnterminatedBrace2)
run_cmake(UnterminatedBracket0)
run_cmake(UnterminatedBracket1)
run_cmake(UnterminatedBracketComment)

View File

@@ -1,4 +1,4 @@
CMake Warning \(dev\) at UnterminatedBrace1.cmake:2 \(set\):
CMake Error at UnterminatedBrace1.cmake:2 \(set\):
Syntax error in cmake code at
.*/Tests/RunCMake/Syntax/UnterminatedBrace1.cmake:2
@@ -7,7 +7,6 @@ CMake Warning \(dev\) at UnterminatedBrace1.cmake:2 \(set\):
\${
syntax error, unexpected end of file, expecting } \(3\)
There is an unterminated variable reference.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.

View File

@@ -1,2 +1,2 @@
cmake_policy(SET CMP0010 OLD)
cmake_policy(SET CMP0053 NEW)
set(var "${")

View File

@@ -1,12 +0,0 @@
CMake Error at UnterminatedBrace2.cmake:3 \(set\):
Syntax error in cmake code at
.*/Tests/RunCMake/Syntax/UnterminatedBrace2.cmake:3
when parsing string
\${
There is an unterminated variable reference.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)

View File

@@ -1,3 +0,0 @@
cmake_policy(SET CMP0010 OLD)
cmake_policy(SET CMP0053 NEW)
set(var "${")