diff options
author | Brad King <brad.king@kitware.com> | 2014-07-14 18:38:58 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-07-14 18:38:58 (GMT) |
commit | d57be904ae997e44ec9ac3b44722277f81936577 (patch) | |
tree | c83237f4a18176a55a7cc53816a65470b553d210 /Source | |
parent | b3b44d138e50b2c5b4a4d327aae9290dba56862d (diff) | |
download | CMake-d57be904ae997e44ec9ac3b44722277f81936577.zip CMake-d57be904ae997e44ec9ac3b44722277f81936577.tar.gz CMake-d57be904ae997e44ec9ac3b44722277f81936577.tar.bz2 |
cmTarget: Run old-style link dependencies only for VS 6
Invoke it at runtime only with the VS 6 generator. No other generators
need it.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGlobalGenerator.h | 3 | ||||
-rw-r--r-- | Source/cmGlobalVisualStudio6Generator.h | 2 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 7 |
3 files changed, 10 insertions, 2 deletions
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h index 6403429..160a8fb 100644 --- a/Source/cmGlobalGenerator.h +++ b/Source/cmGlobalGenerator.h @@ -214,6 +214,9 @@ public: */ virtual void FindMakeProgram(cmMakefile*); + /** Is this the Visual Studio 6 generator? */ + virtual bool IsForVS6() const { return false; } + ///! Find a target by name by searching the local generators. cmTarget* FindTarget(const std::string& name, bool excludeAliases = false) const; diff --git a/Source/cmGlobalVisualStudio6Generator.h b/Source/cmGlobalVisualStudio6Generator.h index 2797e11..b2fd28f 100644 --- a/Source/cmGlobalVisualStudio6Generator.h +++ b/Source/cmGlobalVisualStudio6Generator.h @@ -91,6 +91,8 @@ public: virtual void FindMakeProgram(cmMakefile*); + virtual bool IsForVS6() const { return true; } + protected: virtual const char* GetIDEVersion() { return "6.0"; } private: diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index c480669..0d17dc2 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -517,8 +517,11 @@ void cmTarget::FinishConfigure() // invalidation code in this source file is buggy. this->ClearLinkMaps(); - // Do old-style link dependency analysis. - this->AnalyzeLibDependenciesForVS6(*this->Makefile); + // Do old-style link dependency analysis only for CM_USE_OLD_VS6. + if(this->Makefile->GetLocalGenerator()->GetGlobalGenerator()->IsForVS6()) + { + this->AnalyzeLibDependenciesForVS6(*this->Makefile); + } } //---------------------------------------------------------------------------- |