Răsfoiți Sursa

Merge branch 'backport-genex-refactor' into genex-refactor

Brad King 4 săptămâni în urmă
părinte
comite
d1c780886e

+ 2 - 2
Source/cmFileSet.cxx

@@ -156,7 +156,7 @@ cmFileSet::CompileDirectoryEntries() const
 
 std::vector<std::string> cmFileSet::EvaluateDirectoryEntries(
   std::vector<std::unique_ptr<cmCompiledGeneratorExpression>> const& cges,
-  cmLocalGenerator* lg, std::string const& config,
+  cmLocalGenerator const* lg, std::string const& config,
   cmGeneratorTarget const* target,
   cmGeneratorExpressionDAGChecker* dagChecker) const
 {
@@ -218,7 +218,7 @@ void cmFileSet::EvaluateFileEntry(
   std::vector<std::string> const& dirs,
   std::map<std::string, std::vector<std::string>>& filesPerDir,
   std::unique_ptr<cmCompiledGeneratorExpression> const& cge,
-  cmLocalGenerator* lg, std::string const& config,
+  cmLocalGenerator const* lg, std::string const& config,
   cmGeneratorTarget const* target,
   cmGeneratorExpressionDAGChecker* dagChecker) const
 {

+ 2 - 2
Source/cmFileSet.h

@@ -67,7 +67,7 @@ public:
 
   std::vector<std::string> EvaluateDirectoryEntries(
     std::vector<std::unique_ptr<cmCompiledGeneratorExpression>> const& cges,
-    cmLocalGenerator* lg, std::string const& config,
+    cmLocalGenerator const* lg, std::string const& config,
     cmGeneratorTarget const* target,
     cmGeneratorExpressionDAGChecker* dagChecker = nullptr) const;
 
@@ -75,7 +75,7 @@ public:
     std::vector<std::string> const& dirs,
     std::map<std::string, std::vector<std::string>>& filesPerDir,
     std::unique_ptr<cmCompiledGeneratorExpression> const& cge,
-    cmLocalGenerator* lg, std::string const& config,
+    cmLocalGenerator const* lg, std::string const& config,
     cmGeneratorTarget const* target,
     cmGeneratorExpressionDAGChecker* dagChecker = nullptr) const;
 

+ 4 - 4
Source/cmGeneratorExpressionEvaluationFile.cxx

@@ -190,7 +190,7 @@ void cmGeneratorExpressionEvaluationFile::Generate(cmLocalGenerator* lg)
 }
 
 std::string cmGeneratorExpressionEvaluationFile::GetInputFileName(
-  cmLocalGenerator* lg)
+  cmLocalGenerator const* lg)
 {
   std::string inputFileName = this->Input;
 
@@ -204,8 +204,8 @@ std::string cmGeneratorExpressionEvaluationFile::GetInputFileName(
 }
 
 std::string cmGeneratorExpressionEvaluationFile::GetOutputFileName(
-  cmLocalGenerator* lg, cmGeneratorTarget* target, std::string const& config,
-  std::string const& lang)
+  cmLocalGenerator const* lg, cmGeneratorTarget* target,
+  std::string const& config, std::string const& lang)
 {
   std::string outputFileName =
     this->OutputFileExpr->Evaluate(lg, config, target, nullptr, nullptr, lang);
@@ -220,7 +220,7 @@ std::string cmGeneratorExpressionEvaluationFile::GetOutputFileName(
 }
 
 std::string cmGeneratorExpressionEvaluationFile::FixRelativePath(
-  std::string const& relativePath, PathRole role, cmLocalGenerator* lg)
+  std::string const& relativePath, PathRole role, cmLocalGenerator const* lg)
 {
   std::string resultPath;
   switch (this->PolicyStatusCMP0070) {

+ 3 - 3
Source/cmGeneratorExpressionEvaluationFile.h

@@ -39,8 +39,8 @@ private:
                 cmCompiledGeneratorExpression* inputExpression,
                 std::map<std::string, std::string>& outputFiles, mode_t perm);
 
-  std::string GetInputFileName(cmLocalGenerator* lg);
-  std::string GetOutputFileName(cmLocalGenerator* lg,
+  std::string GetInputFileName(cmLocalGenerator const* lg);
+  std::string GetOutputFileName(cmLocalGenerator const* lg,
                                 cmGeneratorTarget* target,
                                 std::string const& config,
                                 std::string const& lang);
@@ -50,7 +50,7 @@ private:
     PathForOutput
   };
   std::string FixRelativePath(std::string const& filePath, PathRole role,
-                              cmLocalGenerator* lg);
+                              cmLocalGenerator const* lg);
 
   std::string const Input;
   std::string const Target;

+ 10 - 9
Source/cmGeneratorExpressionNode.cxx

@@ -52,18 +52,19 @@
 #include "cmake.h"
 
 std::string cmGeneratorExpressionNode::EvaluateDependentExpression(
-  std::string const& prop, cmLocalGenerator const* lg,
-  cmGeneratorExpressionContext* context, cmGeneratorTarget const* headTarget,
+  std::string const& prop, cmGeneratorExpressionContext* context,
+  cmGeneratorTarget const* headTarget,
   cmGeneratorExpressionDAGChecker* dagChecker,
   cmGeneratorTarget const* currentTarget)
 {
-  cmGeneratorExpression ge(*lg->GetCMakeInstance(), context->Backtrace);
+  cmGeneratorExpression ge(*context->LG->GetCMakeInstance(),
+                           context->Backtrace);
   std::unique_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(prop);
   cge->SetEvaluateForBuildsystem(context->EvaluateForBuildsystem);
   cge->SetQuiet(context->Quiet);
   std::string result =
-    cge->Evaluate(lg, context->Config, headTarget, dagChecker, currentTarget,
-                  context->Language);
+    cge->Evaluate(context->LG, context->Config, headTarget, dagChecker,
+                  currentTarget, context->Language);
   if (cge->GetHadContextSensitiveCondition()) {
     context->HadContextSensitiveCondition = true;
   }
@@ -504,12 +505,12 @@ protected:
       }
 
       return this->EvaluateDependentExpression(
-        expression, context->LG, context, context->HeadTarget, &dagChecker,
+        expression, context, context->HeadTarget, &dagChecker,
         context->CurrentTarget);
     }
 
     return this->EvaluateDependentExpression(
-      expression, context->LG, context, context->HeadTarget, dagCheckerParent,
+      expression, context, context->HeadTarget, dagCheckerParent,
       context->CurrentTarget);
   }
 };
@@ -3296,8 +3297,8 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
     // transitive link closure as an ordered list.
     if (!interfacePropertyName.empty()) {
       result = cmGeneratorExpression::StripEmptyListElements(
-        this->EvaluateDependentExpression(result, context->LG, context, target,
-                                          &dagChecker, target));
+        this->EvaluateDependentExpression(result, context, target, &dagChecker,
+                                          target));
       std::string linkedTargetsContent = getLinkedTargetsContent(
         target, interfacePropertyName, context, &dagChecker, usage);
       if (!linkedTargetsContent.empty()) {

+ 2 - 3
Source/cmGeneratorExpressionNode.h

@@ -8,7 +8,6 @@
 #include <vector>
 
 class cmGeneratorTarget;
-class cmLocalGenerator;
 struct GeneratorExpressionContent;
 struct cmGeneratorExpressionContext;
 struct cmGeneratorExpressionDAGChecker;
@@ -46,8 +45,8 @@ struct cmGeneratorExpressionNode
     cmGeneratorExpressionDAGChecker* dagChecker) const = 0;
 
   static std::string EvaluateDependentExpression(
-    std::string const& prop, cmLocalGenerator const* lg,
-    cmGeneratorExpressionContext* context, cmGeneratorTarget const* headTarget,
+    std::string const& prop, cmGeneratorExpressionContext* context,
+    cmGeneratorTarget const* headTarget,
     cmGeneratorExpressionDAGChecker* dagChecker,
     cmGeneratorTarget const* currentTarget);
 

+ 1 - 1
Source/cmGeneratorTarget_TransitiveProperty.cxx

@@ -138,7 +138,7 @@ std::string cmGeneratorTarget::EvaluateInterfaceProperty(
 
   if (cmValue p = this->GetProperty(prop)) {
     result = cmGeneratorExpressionNode::EvaluateDependentExpression(
-      *p, context->LG, context, headTarget, &dagChecker, this);
+      *p, context, headTarget, &dagChecker, this);
   }
 
   if (cmLinkInterfaceLibraries const* iface =