From ba2668588213688243174a9cc8d7f034661b2a73 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sat, 25 Jul 2015 21:10:31 +0200 Subject: [PATCH] cmTarget: Create cmGeneratorTargets before reading deprecated LOCATION. The intention is to move generation-semantic cmTarget API to cmGeneratorTarget and then use the latter for generator expressions. This means that each time we read a deprecated LOCATION property, we have to clear and re-populate the container. That must be done each time because the result can change through the configure process, which is why this is deprecated in the first place. --- Source/cmTarget.cxx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 352b2def5..295c86255 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -2950,8 +2950,11 @@ const char *cmTarget::GetProperty(const std::string& prop, } else { + cmGlobalGenerator* gg = this->Makefile->GetGlobalGenerator(); + gg->CreateGenerationObjects(); + cmGeneratorTarget* gt = gg->GetGeneratorTarget(this); this->Properties.SetProperty( - prop, this->GetFullPath(configName, false).c_str()); + prop, gt->Target->GetFullPath(configName, false).c_str()); } } // Support "_LOCATION". @@ -2971,8 +2974,11 @@ const char *cmTarget::GetProperty(const std::string& prop, } else { + cmGlobalGenerator* gg = this->Makefile->GetGlobalGenerator(); + gg->CreateGenerationObjects(); + cmGeneratorTarget* gt = gg->GetGeneratorTarget(this); this->Properties.SetProperty( - prop, this->GetFullPath(configName, false).c_str()); + prop, gt->Target->GetFullPath(configName, false).c_str()); } } }