cmTarget: Make compatbility API explicit.

This commit is contained in:
Stephen Kelly 2015-10-23 00:59:36 +02:00
parent bde277e811
commit f210cb131e
3 changed files with 18 additions and 28 deletions

View File

@ -756,15 +756,26 @@ void cmMakefile::ConfigureFinalPass()
"with CMake 2.4 or later. For compatibility with older versions please " "with CMake 2.4 or later. For compatibility with older versions please "
"use any CMake 2.8.x release or lower."); "use any CMake 2.8.x release or lower.");
} }
for (cmTargets::iterator l = this->Targets.begin(); #if defined(_WIN32) && !defined(__CYGWIN__)
l != this->Targets.end(); l++) // Do old-style link dependency analysis only for CM_USE_OLD_VS6.
if(this->GetGlobalGenerator()->IsForVS6())
{ {
if (l->second.GetType() == cmState::INTERFACE_LIBRARY) for (cmTargets::iterator l = this->Targets.begin();
l != this->Targets.end(); l++)
{ {
continue; if (l->second.GetType() == cmState::INTERFACE_LIBRARY)
{
continue;
}
// Erase any cached link information that might have been comptued
// on-demand during the configuration. This ensures that build
// system generation uses up-to-date information even if other cache
// invalidation code in this source file is buggy.
l->second.AnalyzeLibDependenciesForVS6(*this);
} }
l->second.FinishConfigure();
} }
#endif
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------

View File

@ -314,23 +314,6 @@ cmListFileBacktrace const* cmTarget::GetUtilityBacktrace(
return &i->second; return &i->second;
} }
//----------------------------------------------------------------------------
void cmTarget::FinishConfigure()
{
// Erase any cached link information that might have been comptued
// on-demand during the configuration. This ensures that build
// system generation uses up-to-date information even if other cache
// invalidation code in this source file is buggy.
#if defined(_WIN32) && !defined(__CYGWIN__)
// Do old-style link dependency analysis only for CM_USE_OLD_VS6.
if(this->Makefile->GetGlobalGenerator()->IsForVS6())
{
this->AnalyzeLibDependenciesForVS6(*this->Makefile);
}
#endif
}
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
cmListFileBacktrace const& cmTarget::GetBacktrace() const cmListFileBacktrace const& cmTarget::GetBacktrace() const
{ {

View File

@ -176,9 +176,6 @@ public:
std::set<std::string>const& GetUtilities() const { return this->Utilities; } std::set<std::string>const& GetUtilities() const { return this->Utilities; }
cmListFileBacktrace const* GetUtilityBacktrace(const std::string& u) const; cmListFileBacktrace const* GetUtilityBacktrace(const std::string& u) const;
/** Finalize the target at the end of the Configure step. */
void FinishConfigure();
///! Set/Get a property of this target file ///! Set/Get a property of this target file
void SetProperty(const std::string& prop, const char *value); void SetProperty(const std::string& prop, const char *value);
void AppendProperty(const std::string& prop, const char* value, void AppendProperty(const std::string& prop, const char* value,
@ -250,10 +247,11 @@ public:
cmStringRange GetLinkImplementationEntries() const; cmStringRange GetLinkImplementationEntries() const;
cmBacktraceRange GetLinkImplementationBacktraces() const; cmBacktraceRange GetLinkImplementationBacktraces() const;
#if defined(_WIN32) && !defined(__CYGWIN__) #if defined(_WIN32) && !defined(__CYGWIN__)
const LinkLibraryVectorType &GetLinkLibrariesForVS6() const { const LinkLibraryVectorType &GetLinkLibrariesForVS6() const {
return this->LinkLibrariesForVS6;} return this->LinkLibrariesForVS6;}
void AnalyzeLibDependenciesForVS6( const cmMakefile& mf );
#endif #endif
struct StrictTargetComparison { struct StrictTargetComparison {
@ -312,8 +310,6 @@ private:
void GatherDependenciesForVS6( const cmMakefile& mf, void GatherDependenciesForVS6( const cmMakefile& mf,
const LibraryID& lib, const LibraryID& lib,
DependencyMap& dep_map); DependencyMap& dep_map);
void AnalyzeLibDependenciesForVS6( const cmMakefile& mf );
#endif #endif
const char* GetSuffixVariableInternal(bool implib) const; const char* GetSuffixVariableInternal(bool implib) const;