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