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 /Source | |
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.
Diffstat (limited to 'Source')
-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); |