From 333c1fa83bd20f7b1039ab0a90e442b03d2c27e5 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sat, 16 May 2015 05:21:24 +0200 Subject: cmGlobalUnixMakefileGenerator3: Host the UnixCD. --- Source/cmGlobalBorlandMakefileGenerator.cxx | 2 +- Source/cmGlobalJOMMakefileGenerator.cxx | 2 +- Source/cmGlobalNMakeMakefileGenerator.cxx | 2 +- Source/cmGlobalUnixMakefileGenerator3.cxx | 1 + Source/cmGlobalUnixMakefileGenerator3.h | 1 + Source/cmGlobalWatcomWMakeGenerator.cxx | 2 +- Source/cmLocalUnixMakefileGenerator3.cxx | 5 +++-- Source/cmLocalUnixMakefileGenerator3.h | 7 ------- 8 files changed, 9 insertions(+), 13 deletions(-) diff --git a/Source/cmGlobalBorlandMakefileGenerator.cxx b/Source/cmGlobalBorlandMakefileGenerator.cxx index 3418fdc..0ee98a8 100644 --- a/Source/cmGlobalBorlandMakefileGenerator.cxx +++ b/Source/cmGlobalBorlandMakefileGenerator.cxx @@ -25,6 +25,7 @@ cmGlobalBorlandMakefileGenerator::cmGlobalBorlandMakefileGenerator() this->IncludeDirective = "!include"; this->DefineWindowsNULL = true; this->PassMakeflags = true; + this->UnixCD = false; } @@ -47,7 +48,6 @@ cmLocalGenerator *cmGlobalBorlandMakefileGenerator::CreateLocalGenerator( cmLocalUnixMakefileGenerator3* lg = new cmLocalUnixMakefileGenerator3(this, parent); lg->SetMakefileVariableSize(32); - lg->SetUnixCD(false); lg->SetMakeCommandEscapeTargetTwice(true); lg->SetBorlandMakeCurlyHack(true); return lg; diff --git a/Source/cmGlobalJOMMakefileGenerator.cxx b/Source/cmGlobalJOMMakefileGenerator.cxx index 45a7d3e..23c8653 100644 --- a/Source/cmGlobalJOMMakefileGenerator.cxx +++ b/Source/cmGlobalJOMMakefileGenerator.cxx @@ -23,6 +23,7 @@ cmGlobalJOMMakefileGenerator::cmGlobalJOMMakefileGenerator() this->NMake = true; this->DefineWindowsNULL = true; this->PassMakeflags = true; + this->UnixCD = false; } void cmGlobalJOMMakefileGenerator @@ -56,7 +57,6 @@ cmGlobalJOMMakefileGenerator::CreateLocalGenerator(cmLocalGenerator* parent) = new cmLocalUnixMakefileGenerator3(this, parent); lg->SetMakeSilentFlag("/nologo"); lg->SetIgnoreLibPrefix(true); - lg->SetUnixCD(false); return lg; } diff --git a/Source/cmGlobalNMakeMakefileGenerator.cxx b/Source/cmGlobalNMakeMakefileGenerator.cxx index a509931..06c97d8 100644 --- a/Source/cmGlobalNMakeMakefileGenerator.cxx +++ b/Source/cmGlobalNMakeMakefileGenerator.cxx @@ -23,6 +23,7 @@ cmGlobalNMakeMakefileGenerator::cmGlobalNMakeMakefileGenerator() this->NMake = true; this->DefineWindowsNULL = true; this->PassMakeflags = true; + this->UnixCD = false; } void cmGlobalNMakeMakefileGenerator @@ -56,7 +57,6 @@ cmGlobalNMakeMakefileGenerator::CreateLocalGenerator(cmLocalGenerator* parent) new cmLocalUnixMakefileGenerator3(this, parent); lg->SetMakeSilentFlag("/nologo"); lg->SetIgnoreLibPrefix(true); - lg->SetUnixCD(false); return lg; } diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx index 7588c09..a43a427 100644 --- a/Source/cmGlobalUnixMakefileGenerator3.cxx +++ b/Source/cmGlobalUnixMakefileGenerator3.cxx @@ -37,6 +37,7 @@ cmGlobalUnixMakefileGenerator3::cmGlobalUnixMakefileGenerator3() this->IncludeDirective = "include"; this->DefineWindowsNULL = false; this->PassMakeflags = false; + this->UnixCD = true; } void cmGlobalUnixMakefileGenerator3 diff --git a/Source/cmGlobalUnixMakefileGenerator3.h b/Source/cmGlobalUnixMakefileGenerator3.h index 2a91ed4..ac82287 100644 --- a/Source/cmGlobalUnixMakefileGenerator3.h +++ b/Source/cmGlobalUnixMakefileGenerator3.h @@ -136,6 +136,7 @@ public: std::string IncludeDirective; bool DefineWindowsNULL; bool PassMakeflags; + bool UnixCD; protected: void WriteMainMakefile2(); void WriteMainCMakefile(); diff --git a/Source/cmGlobalWatcomWMakeGenerator.cxx b/Source/cmGlobalWatcomWMakeGenerator.cxx index b97ee66..7bfef74 100644 --- a/Source/cmGlobalWatcomWMakeGenerator.cxx +++ b/Source/cmGlobalWatcomWMakeGenerator.cxx @@ -28,6 +28,7 @@ cmGlobalWatcomWMakeGenerator::cmGlobalWatcomWMakeGenerator() this->WatcomWMake = true; this->IncludeDirective = "!include"; this->DefineWindowsNULL = true; + this->UnixCD = false; } void cmGlobalWatcomWMakeGenerator @@ -54,7 +55,6 @@ cmGlobalWatcomWMakeGenerator::CreateLocalGenerator(cmLocalGenerator* parent) = new cmLocalUnixMakefileGenerator3(this, parent); lg->SetMakeSilentFlag("-h"); lg->SetIgnoreLibPrefix(true); - lg->SetUnixCD(false); return lg; } diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx index cb4d8cf..1ba6656 100644 --- a/Source/cmLocalUnixMakefileGenerator3.cxx +++ b/Source/cmLocalUnixMakefileGenerator3.cxx @@ -85,7 +85,6 @@ cmLocalUnixMakefileGenerator3(cmGlobalGenerator* gg, cmLocalGenerator* parent) { this->MakefileVariableSize = 0; this->IgnoreLibPrefix = false; - this->UnixCD = true; this->ColorMakefile = false; this->SkipPreprocessedSourceRules = false; this->SkipAssemblySourceRules = false; @@ -2347,7 +2346,9 @@ void cmLocalUnixMakefileGenerator3 // support changing the drive letter with just "d:"). const char* cd_cmd = this->IsMinGWMake() ? "cd /d " : "cd "; - if(!this->UnixCD) + cmGlobalUnixMakefileGenerator3* gg = + static_cast(this->GlobalGenerator); + if(!gg->UnixCD) { // On Windows we must perform each step separately and then change // back because the shell keeps the working directory between diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h index 7a0dadb..577b3e1 100644 --- a/Source/cmLocalUnixMakefileGenerator3.h +++ b/Source/cmLocalUnixMakefileGenerator3.h @@ -73,12 +73,6 @@ public: std::string &GetMakeSilentFlag() { return this->MakeSilentFlag; } /** - * If set to true, cd dir && command is used to - * run commands in a different directory. - */ - void SetUnixCD(bool v) {this->UnixCD = v;} - - /** * Set max makefile variable size, default is 0 which means unlimited. */ void SetMakefileVariableSize(int s) { this->MakefileVariableSize = s; } @@ -282,7 +276,6 @@ private: int MakefileVariableSize; std::string MakeSilentFlag; std::string ConfigurationName; - bool UnixCD; bool MakeCommandEscapeTargetTwice; bool BorlandMakeCurlyHack; //========================================================================== -- cgit v0.12