From cf0a78dc4ce7debb62ceb4d12235ea75e19bebe2 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 25 Aug 2015 22:18:39 +0200 Subject: cmGeneratorTarget: Issue messages through the local generator. --- Source/cmGeneratorTarget.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index dd58e7b..ffdb54f 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -1403,7 +1403,7 @@ cmGeneratorTarget::CompileInfo const* cmGeneratorTarget::GetCompileInfo( msg += this->GetName(); msg += " which has type "; msg += cmTarget::GetTargetTypeName(this->Target->GetType()); - this->Makefile->IssueMessage(cmake::INTERNAL_ERROR, msg); + this->LocalGenerator->IssueMessage(cmake::INTERNAL_ERROR, msg); return 0; } @@ -2093,7 +2093,7 @@ cmGeneratorTarget::NormalGetRealName(const std::string& config) const { std::string msg = "NormalGetRealName called on imported target: "; msg += this->GetName(); - this->Makefile->IssueMessage(cmake::INTERNAL_ERROR, msg); + this->LocalGenerator->IssueMessage(cmake::INTERNAL_ERROR, msg); } if(this->GetType() == cmTarget::EXECUTABLE) -- cgit v0.12 From 6254ba95784ae29616b17ad8b42d4f31560c2c65 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 25 Aug 2015 22:19:57 +0200 Subject: cmMakefile: Remove Internal class. Move only remaining state to the direct class. --- Source/cmMakefile.cxx | 23 ++++++++--------------- Source/cmMakefile.h | 3 +-- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 2296d5a..3289881 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -43,19 +43,12 @@ #include // for isspace #include -class cmMakefile::Internals -{ -public: - bool IsSourceFileTryCompile; -}; - // default is not to be building executables cmMakefile::cmMakefile(cmLocalGenerator* localGenerator) - : Internal(new Internals), - LocalGenerator(localGenerator), + : LocalGenerator(localGenerator), StateSnapshot(localGenerator->GetStateSnapshot()) { - this->Internal->IsSourceFileTryCompile = false; + this->IsSourceFileTryCompile = false; // Initialize these first since AddDefaultDefinitions calls AddDefinition this->WarnUnused = this->GetCMakeInstance()->GetWarnUnused(); @@ -3616,7 +3609,7 @@ int cmMakefile::TryCompile(const std::string& srcdir, const std::vector *cmakeArgs, std::string& output) { - this->Internal->IsSourceFileTryCompile = fast; + this->IsSourceFileTryCompile = fast; // does the binary directory exist ? If not create it... if (!cmSystemTools::FileIsDirectory(bindir)) { @@ -3641,7 +3634,7 @@ int cmMakefile::TryCompile(const std::string& srcdir, "Internal CMake error, TryCompile bad GlobalGenerator"); // return to the original directory cmSystemTools::ChangeDirectory(cwd); - this->Internal->IsSourceFileTryCompile = false; + this->IsSourceFileTryCompile = false; return 1; } cm.SetGlobalGenerator(gg); @@ -3712,7 +3705,7 @@ int cmMakefile::TryCompile(const std::string& srcdir, "Internal CMake error, TryCompile configure of cmake failed"); // return to the original directory cmSystemTools::ChangeDirectory(cwd); - this->Internal->IsSourceFileTryCompile = false; + this->IsSourceFileTryCompile = false; return 1; } @@ -3722,7 +3715,7 @@ int cmMakefile::TryCompile(const std::string& srcdir, "Internal CMake error, TryCompile generation of cmake failed"); // return to the original directory cmSystemTools::ChangeDirectory(cwd); - this->Internal->IsSourceFileTryCompile = false; + this->IsSourceFileTryCompile = false; return 1; } @@ -3735,13 +3728,13 @@ int cmMakefile::TryCompile(const std::string& srcdir, this); cmSystemTools::ChangeDirectory(cwd); - this->Internal->IsSourceFileTryCompile = false; + this->IsSourceFileTryCompile = false; return ret; } bool cmMakefile::GetIsSourceFileTryCompile() const { - return this->Internal->IsSourceFileTryCompile; + return this->IsSourceFileTryCompile; } cmake *cmMakefile::GetCMakeInstance() const diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 055170a..1f8a054 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -62,8 +62,6 @@ class cmGeneratorExpressionEvaluationFile; */ class cmMakefile { - class Internals; - cmsys::auto_ptr Internal; public: /* Mark a variable as used */ void MarkVariableAsUsed(const std::string& var); @@ -996,6 +994,7 @@ private: bool CheckSystemVars; bool CheckCMP0000; bool Configured; + bool IsSourceFileTryCompile; mutable bool SuppressWatches; }; -- cgit v0.12 From 00f2298f0788404cf170ed6ab50b73ef890b4302 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 25 Aug 2015 22:55:11 +0200 Subject: Reduce uses of cmMakefile::GetGlobalGenerator. Don't assume the cmMakefile has a global generator. --- Source/cmComputeLinkDepends.cxx | 4 +++- Source/cmComputeLinkInformation.cxx | 2 +- Source/cmGeneratorTarget.cxx | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Source/cmComputeLinkDepends.cxx b/Source/cmComputeLinkDepends.cxx index 59590fd..1e02ae4 100644 --- a/Source/cmComputeLinkDepends.cxx +++ b/Source/cmComputeLinkDepends.cxx @@ -12,6 +12,7 @@ #include "cmComputeLinkDepends.h" #include "cmComputeComponentGraph.h" +#include "cmLocalGenerator.h" #include "cmGlobalGenerator.h" #include "cmMakefile.h" #include "cmTarget.h" @@ -177,7 +178,8 @@ cmComputeLinkDepends // Store context information. this->Target = target; this->Makefile = this->Target->Target->GetMakefile(); - this->GlobalGenerator = this->Makefile->GetGlobalGenerator(); + this->GlobalGenerator = + this->Target->GetLocalGenerator()->GetGlobalGenerator(); this->CMakeInstance = this->GlobalGenerator->GetCMakeInstance(); // The configuration being linked. diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx index 6ba0eed..6c3822f 100644 --- a/Source/cmComputeLinkInformation.cxx +++ b/Source/cmComputeLinkInformation.cxx @@ -769,7 +769,7 @@ void cmComputeLinkInformation::AddSharedDepItem(std::string const& item, std::string lib; if(tgt) { - gtgt = tgt->GetMakefile()->GetGlobalGenerator()->GetGeneratorTarget(tgt); + gtgt = this->GlobalGenerator->GetGeneratorTarget(tgt); lib = gtgt->GetFullPath(this->Config, this->UseImportLibrary); this->AddLibraryRuntimeInfo(lib, tgt); diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index ffdb54f..25fc8a7 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -1228,7 +1228,7 @@ public: : Preference(0), Target(target) { this->Makefile = this->Target->Makefile; - this->GG = this->Makefile->GetGlobalGenerator(); + this->GG = this->Target->GetLocalGenerator()->GetGlobalGenerator(); } void Consider(const char* lang) { -- cgit v0.12 From e35ee02d6e6aa5d1e9bc50d7c378dcbbabcf52bd Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 25 Aug 2015 08:07:04 +0200 Subject: cmTarget: Fix indentation. --- Source/cmTarget.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 49b3239..747f465 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -1842,12 +1842,12 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value, this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str()); return; } - this->Internal->SourceFilesMap.clear(); - cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(lfbt); - cmsys::auto_ptr cge = ge.Parse(value); - this->Internal->SourceEntries.push_back( - new cmTargetInternals::TargetPropertyEntry(cge)); + this->Internal->SourceFilesMap.clear(); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); + cmGeneratorExpression ge(lfbt); + cmsys::auto_ptr cge = ge.Parse(value); + this->Internal->SourceEntries.push_back( + new cmTargetInternals::TargetPropertyEntry(cge)); } else { -- cgit v0.12 From de6b2895824fdac9a25fa9cd2f0f7c38b29547dc Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 25 Aug 2015 07:24:45 +0200 Subject: cmTarget: Remove vestigal method declaration. The definition was removed in commit v3.1.0-rc1~688^2~5 (cmTarget: Allow any generator expression in SOURCES property., 2014-03-18). --- Source/cmTarget.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/Source/cmTarget.h b/Source/cmTarget.h index 2007b40..dccf550 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -614,8 +614,6 @@ private: void MaybeInvalidatePropertyCache(const std::string& prop); - void ProcessSourceExpression(std::string const& expr); - // Internal representation details. friend class cmTargetInternals; friend class cmGeneratorTarget; -- cgit v0.12 From cd6293cdf8cf04fca70497a2474989b773fe922e Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Mon, 24 Aug 2015 07:45:26 +0200 Subject: cmMakefile: Fix style. --- Source/cmMakefile.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 3289881..1550c7b 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -2072,7 +2072,8 @@ void cmMakefile::AddGlobalLinkInformation(const std::string& name, if(std::find(this->LinkDirectories.begin(), this->LinkDirectories.end(), newdir) == this->LinkDirectories.end()) - {target.AddLinkDirectory(*j); + { + target.AddLinkDirectory(*j); } } } -- cgit v0.12 From 7f551b4f2635816553c2ff7dacef78254875116e Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Mon, 24 Aug 2015 09:08:29 +0200 Subject: cmGlobalGenerator: Implement VS6 check without virtual method. Don't require existence of a global generator for this check. --- Source/cmGlobalGenerator.h | 2 +- Source/cmGlobalVisualStudio6Generator.h | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h index fe710f1..3403cf9 100644 --- a/Source/cmGlobalGenerator.h +++ b/Source/cmGlobalGenerator.h @@ -242,7 +242,7 @@ public: #if defined(_WIN32) && !defined(__CYGWIN__) /** Is this the Visual Studio 6 generator? */ - virtual bool IsForVS6() const { return false; } + bool IsForVS6() const { return this->GetName() == "Visual Studio 6"; } #endif ///! Find a target by name by searching the local generators. diff --git a/Source/cmGlobalVisualStudio6Generator.h b/Source/cmGlobalVisualStudio6Generator.h index 2460158..420cb0b 100644 --- a/Source/cmGlobalVisualStudio6Generator.h +++ b/Source/cmGlobalVisualStudio6Generator.h @@ -85,8 +85,6 @@ public: virtual void FindMakeProgram(cmMakefile*); - virtual bool IsForVS6() const { return true; } - protected: virtual void Generate(); virtual const char* GetIDEVersion() { return "6.0"; } -- cgit v0.12