summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmMakefile.cxx2
-rw-r--r--Source/cmTarget.cxx7
-rw-r--r--Source/cmTarget.h5
3 files changed, 12 insertions, 2 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index ce425d0..914a8c5 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 7a1d014..440d5c7 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -1028,6 +1028,13 @@ void cmTarget::SetMakefile(cmMakefile* mf)
}
//----------------------------------------------------------------------------
+void cmTarget::FinishConfigure()
+{
+ // Do old-style link dependency analysis.
+ this->AnalyzeLibDependencies(*this->Makefile);
+}
+
+//----------------------------------------------------------------------------
cmListFileBacktrace const& cmTarget::GetBacktrace() const
{
return this->Internal->Backtrace;
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index e8a82a5..349d0e0 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -219,7 +219,8 @@ public:
///! Get the utilities used by this target
std::set<cmStdString>const& 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);