From 33494a507d45871e1a04a071ed8d3bee453986b3 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 18 Jul 2019 20:29:16 -0400 Subject: cmGeneratorTarget: Order usage requirement processing logic consistently Re-order logic in all `process*` methods so that they all evaluate generator expressions at the beginning of their loops. --- Source/cmGeneratorTarget.cxx | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index d2671cd..aa1f8d1 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -1139,11 +1139,9 @@ static bool processSources( bool contextDependent = false; for (cmGeneratorTarget::TargetPropertyEntry* entry : entries) { - cmLinkImplItem const& item = entry->LinkImplItem; - std::string const& targetName = item.AsStr(); std::vector entrySources; cmSystemTools::ExpandListArgument(entry->Evaluate(tgt->GetLocalGenerator(), - config, false, tgt, tgt, + config, false, tgt, dagChecker), entrySources); @@ -1151,6 +1149,9 @@ static bool processSources( contextDependent = true; } + cmLinkImplItem const& item = entry->LinkImplItem; + std::string const& targetName = item.AsStr(); + for (std::string& src : entrySources) { cmSourceFile* sf = mf->GetOrCreateSource(src); std::string e; @@ -2773,15 +2774,15 @@ static void processIncludeDirectories( bool debugIncludes, const std::string& language) { for (cmGeneratorTarget::TargetPropertyEntry* entry : entries) { - cmLinkImplItem const& item = entry->LinkImplItem; - std::string const& targetName = item.AsStr(); - bool const fromImported = item.Target && item.Target->IsImported(); - bool const checkCMP0027 = item.FromGenex; std::vector entryIncludes; cmSystemTools::ExpandListArgument(entry->Evaluate(tgt->GetLocalGenerator(), config, false, tgt, dagChecker, language), entryIncludes); + cmLinkImplItem const& item = entry->LinkImplItem; + std::string const& targetName = item.AsStr(); + bool const fromImported = item.Target && item.Target->IsImported(); + bool const checkCMP0027 = item.FromGenex; std::string usedIncludes; for (std::string& entryInclude : entryIncludes) { @@ -3432,15 +3433,15 @@ void processLinkDirectories( bool debugDirectories, std::string const& language) { for (cmGeneratorTarget::TargetPropertyEntry* entry : entries) { - cmLinkImplItem const& item = entry->LinkImplItem; - std::string const& targetName = item.AsStr(); - std::vector entryDirectories; cmSystemTools::ExpandListArgument(entry->Evaluate(tgt->GetLocalGenerator(), config, false, tgt, dagChecker, language), entryDirectories); + cmLinkImplItem const& item = entry->LinkImplItem; + std::string const& targetName = item.AsStr(); + std::string usedDirectories; for (std::string& entryDirectory : entryDirectories) { if (!cmSystemTools::FileIsFullPath(entryDirectory)) { -- cgit v0.12