diff options
author | Brad King <brad.king@kitware.com> | 2009-10-05 13:06:29 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-10-05 13:06:29 (GMT) |
commit | 78f08116287fb534bfb0bc2921fd3f5bac47ce93 (patch) | |
tree | dcee076bff0d4886f0e250eb2964e4b3c1ccf080 | |
parent | 847875bebd79c45501dc2d584a6fd854397c5936 (diff) | |
download | CMake-78f08116287fb534bfb0bc2921fd3f5bac47ce93.zip CMake-78f08116287fb534bfb0bc2921fd3f5bac47ce93.tar.gz CMake-78f08116287fb534bfb0bc2921fd3f5bac47ce93.tar.bz2 |
Create explicit cmTarget::FinishConfigure step
This method is called during ConfigureFinalPass on every target. It
gives each target a chance to do some final processing after it is known
that no more commands will affect it. Currently we just call the old
AnalyzeLibDependencies that used to be called directly.
-rw-r--r-- | Source/cmMakefile.cxx | 2 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 7 | ||||
-rw-r--r-- | Source/cmTarget.h | 5 |
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); |