From 840509babb2d1c8fc5167c4580fef58546c06700 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sun, 4 Dec 2011 16:40:39 +0100 Subject: Keep the INCLUDE_DIRECTORIES target property up to date. The directory level property changes need to be added to it. --- Source/cmMakefile.cxx | 9 +++++++++ Source/cmTarget.cxx | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index cdb699e..6290412 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1648,6 +1648,15 @@ void cmMakefile::AddIncludeDirectory(const char* inc, bool before) cmProperty *prop = this->GetProperties().GetOrCreateProperty("INCLUDE_DIRECTORIES"); AddStringToProperty(prop, "INCLUDE_DIRECTORIES", inc, before); + + // Property on each target: + for (cmTargets::iterator l = this->Targets.begin(); + l != this->Targets.end(); ++l) + { + cmTarget &t = l->second; + prop = t.GetProperties().GetOrCreateProperty("INCLUDE_DIRECTORIES"); + AddStringToProperty(prop, "INCLUDE_DIRECTORIES", inc, before); + } } //---------------------------------------------------------------------------- diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 5c902e1..cd816a6 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -1279,6 +1279,11 @@ void cmTarget::SetMakefile(cmMakefile* mf) // Save the backtrace of target construction. this->Makefile->GetBacktrace(this->Internal->Backtrace); + // Initialize the INCLUDE_DIRECTORIES property based on the current value + // of the same directory property: + this->SetProperty("INCLUDE_DIRECTORIES", + this->Makefile->GetProperty("INCLUDE_DIRECTORIES")); + // Record current policies for later use. this->PolicyStatusCMP0003 = this->Makefile->GetPolicyStatus(cmPolicies::CMP0003); -- cgit v0.12