Browse Source

cmConditionEvaluator: Reduce the scope of the CMP0064 evaluation

When evaluatig conditions, avoid testing CMP0064 unless it's really needed
(Cuz most of the time it doesn't)
Alex Turbov 3 years ago
parent
commit
cb19a63499
1 changed files with 2 additions and 4 deletions
  1. 2 4
      Source/cmConditionEvaluator.cxx

+ 2 - 4
Source/cmConditionEvaluator.cxx

@@ -526,9 +526,6 @@ bool cmConditionEvaluator::HandleLevel0(cmArgumentList& newArgs,
 bool cmConditionEvaluator::HandleLevel1(cmArgumentList& newArgs, std::string&,
                                         MessageType&)
 {
-  const auto policy64IsOld = this->Policy64Status == cmPolicies::OLD ||
-    this->Policy64Status == cmPolicies::WARN;
-
   for (auto args = newArgs.make2ArgsIterator(); args.current != newArgs.end();
        args.advance(newArgs)) {
 
@@ -617,7 +614,8 @@ bool cmConditionEvaluator::HandleLevel1(cmArgumentList& newArgs, std::string&,
     }
     // does a test exist
     else if (this->IsKeyword(keyTEST, *args.current)) {
-      if (policy64IsOld) {
+      if (this->Policy64Status == cmPolicies::OLD ||
+          this->Policy64Status == cmPolicies::WARN) {
         continue;
       }
       newArgs.ReduceOneArg(bool(this->Makefile.GetTest(args.next->GetValue())),