diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index ce425d0b8..914a8c5a3 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -810,7 +810,7 @@ void cmMakefile::ConfigureFinalPass() for (cmTargets::iterator l = this->Targets.begin(); l != this->Targets.end(); l++) { - l->second.AnalyzeLibDependencies(*this); + l->second.FinishConfigure(); } } diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 7a1d014da..440d5c79d 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -1027,6 +1027,13 @@ void cmTarget::SetMakefile(cmMakefile* mf) this->Makefile->GetPolicyStatus(cmPolicies::CMP0008); } +//---------------------------------------------------------------------------- +void cmTarget::FinishConfigure() +{ + // Do old-style link dependency analysis. + this->AnalyzeLibDependencies(*this->Makefile); +} + //---------------------------------------------------------------------------- cmListFileBacktrace const& cmTarget::GetBacktrace() const { diff --git a/Source/cmTarget.h b/Source/cmTarget.h index e8a82a5d9..349d0e08a 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -219,7 +219,8 @@ public: ///! Get the utilities used by this target std::setconst& GetUtilities() const { return this->Utilities; } - void AnalyzeLibDependencies( const cmMakefile& mf ); + /** Finalize the target at the end of the Configure step. */ + void FinishConfigure(); ///! Set/Get a property of this target file void SetProperty(const char *prop, const char *value); @@ -489,6 +490,8 @@ private: const LibraryID& lib, DependencyMap& dep_map); + void AnalyzeLibDependencies( const cmMakefile& mf ); + const char* GetSuffixVariableInternal(bool implib); const char* GetPrefixVariableInternal(bool implib); std::string GetFullNameInternal(const char* config, bool implib);