mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-21 15:28:41 -05:00
cmPolicies: Factor out helper to recognize generated cmake_policy calls
This commit is contained in:
+13
-5
@@ -277,6 +277,17 @@ bool cmPolicies::ApplyPolicyVersion(cmMakefile* mf,
|
||||
warnCompat);
|
||||
}
|
||||
|
||||
namespace {
|
||||
bool IsFromLegacyInstallEXPORT(cmMakefile* mf, unsigned int majorVer,
|
||||
unsigned int minorVer, unsigned int patchVer)
|
||||
{
|
||||
return majorVer == 2 && minorVer == 6 && patchVer == 0 &&
|
||||
mf->GetStateSnapshot().CanPopPolicyScope() &&
|
||||
cmSystemTools::Strucmp(mf->GetBacktrace().Top().Name.c_str(),
|
||||
"cmake_policy") == 0;
|
||||
}
|
||||
}
|
||||
|
||||
bool cmPolicies::ApplyPolicyVersion(cmMakefile* mf, unsigned int majorVer,
|
||||
unsigned int minorVer,
|
||||
unsigned int patchVer,
|
||||
@@ -285,12 +296,9 @@ bool cmPolicies::ApplyPolicyVersion(cmMakefile* mf, unsigned int majorVer,
|
||||
// Warn about policy versions for which support will be removed.
|
||||
if (warnCompat == WarnCompat::On &&
|
||||
(majorVer < 3 || (majorVer == 3 && minorVer < 10)) &&
|
||||
// Avoid warning on calls generated by install(EXPORT)
|
||||
// Silently tolerate cmake_policy calls generated by install(EXPORT)
|
||||
// in CMake versions prior to 3.18.
|
||||
!(majorVer == 2 && minorVer == 6 && patchVer == 0 &&
|
||||
mf->GetStateSnapshot().CanPopPolicyScope() &&
|
||||
cmSystemTools::Strucmp(mf->GetBacktrace().Top().Name.c_str(),
|
||||
"cmake_policy") == 0)) {
|
||||
!IsFromLegacyInstallEXPORT(mf, majorVer, minorVer, patchVer)) {
|
||||
mf->IssueMessage(
|
||||
MessageType::DEPRECATION_WARNING,
|
||||
"Compatibility with CMake < 3.10 will be removed from "
|
||||
|
||||
Reference in New Issue
Block a user