Remove compatibility with CMake versions older than 2.8.12

This compatibility has been deprecated since commit 5845c218d7
(Deprecate compatibility with CMake versions older than 2.8.12,
2020-06-12, v3.19.0-rc1~629^2).  The behavior itself has been
deprecated since CMake 2.8.12.

Issue: #26613
This commit is contained in:
Brad King
2024-11-19 14:37:00 -05:00
parent 0453f70400
commit 3c4afba8cc
8 changed files with 12 additions and 11 deletions

View File

@@ -1,9 +1,9 @@
.. versionchanged:: 4.0
Compatibility with versions of CMake older than 2.8.0 is removed.
Compatibility with versions of CMake older than 2.8.12 is removed.
Calls to :command:`cmake_minimum_required(VERSION)` or
:command:`cmake_policy(VERSION)` that do not specify at least
2.8.0 as their policy version (optionally via ``...<max>``)
2.8.12 as their policy version (optionally via ``...<max>``)
will produce an error in CMake 4.0 and above.
.. versionchanged:: 3.31

View File

@@ -1,7 +1,7 @@
remove-old-compatibility
------------------------
* Compatibility with versions of CMake older than 2.8.0 has been removed.
* Compatibility with versions of CMake older than 2.8.12 has been removed.
Calls to :command:`cmake_minimum_required` or :command:`cmake_policy`
that set the policy version to an older value now issue an error.
Note that calls to those commands can still support older versions of

View File

@@ -1741,7 +1741,7 @@ void cmMakefile::Configure()
this->SetCheckCMP0000(true);
// Implicitly set the version for the user.
cmPolicies::ApplyPolicyVersion(this, 2, 8, 0,
cmPolicies::ApplyPolicyVersion(this, 2, 8, 12,
cmPolicies::WarnCompat::Off);
}
}

View File

@@ -295,16 +295,17 @@ bool cmPolicies::ApplyPolicyVersion(cmMakefile* mf, unsigned int majorVer,
WarnCompat warnCompat)
{
// Error on policy versions for which support has been removed.
if (majorVer < 2 || (majorVer == 2 && minorVer < 8)) {
if (majorVer < 2 ||
(majorVer == 2 && (minorVer < 8 || (minorVer == 8 && patchVer < 12)))) {
if (IsFromLegacyInstallEXPORT(mf, majorVer, minorVer, patchVer)) {
// Silently tolerate cmake_policy calls generated by install(EXPORT)
// in CMake versions prior to 3.18.
majorVer = 2;
minorVer = 8;
patchVer = 0;
patchVer = 12;
} else {
mf->IssueMessage(MessageType::FATAL_ERROR,
"Compatibility with CMake < 2.8.0 has been removed "
"Compatibility with CMake < 2.8.12 has been removed "
"from CMake.\n" ADVICE_UPDATE_VERSION_ARGUMENT);
cmSystemTools::SetFatalErrorOccurred();
return false;

View File

@@ -1,5 +1,5 @@
^CMake Error at BeforeVersionRemoved\.cmake:1 \(cmake_minimum_required\):
Compatibility with CMake < 2\.8\.0 has been removed from CMake\.
Compatibility with CMake < 2\.8\.12 has been removed from CMake\.
Update the VERSION argument <min> value\. Or, use the <min>\.\.\.<max> syntax
to tell CMake that the project requires at least <min> but has been updated

View File

@@ -1 +1 @@
cmake_minimum_required(VERSION 2.6.4)
cmake_minimum_required(VERSION 2.8.11)

View File

@@ -1,5 +1,5 @@
^CMake Error at PolicyBeforeVersionRemoved\.cmake:1 \(cmake_policy\):
Compatibility with CMake < 2\.8\.0 has been removed from CMake\.
Compatibility with CMake < 2\.8\.12 has been removed from CMake\.
Update the VERSION argument <min> value\. Or, use the <min>\.\.\.<max> syntax
to tell CMake that the project requires at least <min> but has been updated

View File

@@ -1 +1 @@
cmake_policy(VERSION 2.6.4)
cmake_policy(VERSION 2.8.11)