cmGlobalUnixMakefileGenerator3: Host the DefineWindowsNULL.

This commit is contained in:
Stephen Kelly 2015-05-16 05:20:36 +02:00
parent e9b134b95d
commit cf7f03e522
8 changed files with 9 additions and 14 deletions

View File

@ -23,6 +23,7 @@ cmGlobalBorlandMakefileGenerator::cmGlobalBorlandMakefileGenerator()
this->UseLinkScript = false; this->UseLinkScript = false;
this->WindowsShell = true; this->WindowsShell = true;
this->IncludeDirective = "!include"; this->IncludeDirective = "!include";
this->DefineWindowsNULL = true;
} }
@ -44,7 +45,6 @@ cmLocalGenerator *cmGlobalBorlandMakefileGenerator::CreateLocalGenerator(
{ {
cmLocalUnixMakefileGenerator3* lg = cmLocalUnixMakefileGenerator3* lg =
new cmLocalUnixMakefileGenerator3(this, parent); new cmLocalUnixMakefileGenerator3(this, parent);
lg->SetDefineWindowsNULL(true);
lg->SetMakefileVariableSize(32); lg->SetMakefileVariableSize(32);
lg->SetPassMakeflags(true); lg->SetPassMakeflags(true);
lg->SetUnixCD(false); lg->SetUnixCD(false);

View File

@ -21,6 +21,7 @@ cmGlobalJOMMakefileGenerator::cmGlobalJOMMakefileGenerator()
this->UseLinkScript = false; this->UseLinkScript = false;
this->WindowsShell = true; this->WindowsShell = true;
this->NMake = true; this->NMake = true;
this->DefineWindowsNULL = true;
} }
void cmGlobalJOMMakefileGenerator void cmGlobalJOMMakefileGenerator
@ -52,7 +53,6 @@ cmGlobalJOMMakefileGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
{ {
cmLocalUnixMakefileGenerator3* lg cmLocalUnixMakefileGenerator3* lg
= new cmLocalUnixMakefileGenerator3(this, parent); = new cmLocalUnixMakefileGenerator3(this, parent);
lg->SetDefineWindowsNULL(true);
lg->SetMakeSilentFlag("/nologo"); lg->SetMakeSilentFlag("/nologo");
lg->SetIgnoreLibPrefix(true); lg->SetIgnoreLibPrefix(true);
lg->SetPassMakeflags(true); lg->SetPassMakeflags(true);

View File

@ -21,6 +21,7 @@ cmGlobalNMakeMakefileGenerator::cmGlobalNMakeMakefileGenerator()
this->UseLinkScript = false; this->UseLinkScript = false;
this->WindowsShell = true; this->WindowsShell = true;
this->NMake = true; this->NMake = true;
this->DefineWindowsNULL = true;
} }
void cmGlobalNMakeMakefileGenerator void cmGlobalNMakeMakefileGenerator
@ -52,7 +53,6 @@ cmGlobalNMakeMakefileGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
{ {
cmLocalUnixMakefileGenerator3* lg = cmLocalUnixMakefileGenerator3* lg =
new cmLocalUnixMakefileGenerator3(this, parent); new cmLocalUnixMakefileGenerator3(this, parent);
lg->SetDefineWindowsNULL(true);
lg->SetMakeSilentFlag("/nologo"); lg->SetMakeSilentFlag("/nologo");
lg->SetIgnoreLibPrefix(true); lg->SetIgnoreLibPrefix(true);
lg->SetPassMakeflags(true); lg->SetPassMakeflags(true);

View File

@ -35,6 +35,7 @@ cmGlobalUnixMakefileGenerator3::cmGlobalUnixMakefileGenerator3()
this->CommandDatabase = NULL; this->CommandDatabase = NULL;
this->IncludeDirective = "include"; this->IncludeDirective = "include";
this->DefineWindowsNULL = false;
} }
void cmGlobalUnixMakefileGenerator3 void cmGlobalUnixMakefileGenerator3

View File

@ -134,6 +134,7 @@ public:
virtual void ComputeTargetObjectDirectory(cmGeneratorTarget* gt) const; virtual void ComputeTargetObjectDirectory(cmGeneratorTarget* gt) const;
std::string IncludeDirective; std::string IncludeDirective;
bool DefineWindowsNULL;
protected: protected:
void WriteMainMakefile2(); void WriteMainMakefile2();
void WriteMainCMakefile(); void WriteMainCMakefile();

View File

@ -27,6 +27,7 @@ cmGlobalWatcomWMakeGenerator::cmGlobalWatcomWMakeGenerator()
#endif #endif
this->WatcomWMake = true; this->WatcomWMake = true;
this->IncludeDirective = "!include"; this->IncludeDirective = "!include";
this->DefineWindowsNULL = true;
} }
void cmGlobalWatcomWMakeGenerator void cmGlobalWatcomWMakeGenerator
@ -51,7 +52,6 @@ cmGlobalWatcomWMakeGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
{ {
cmLocalUnixMakefileGenerator3* lg cmLocalUnixMakefileGenerator3* lg
= new cmLocalUnixMakefileGenerator3(this, parent); = new cmLocalUnixMakefileGenerator3(this, parent);
lg->SetDefineWindowsNULL(true);
lg->SetMakeSilentFlag("-h"); lg->SetMakeSilentFlag("-h");
lg->SetIgnoreLibPrefix(true); lg->SetIgnoreLibPrefix(true);
lg->SetPassMakeflags(false); lg->SetPassMakeflags(false);

View File

@ -86,7 +86,6 @@ cmLocalUnixMakefileGenerator3(cmGlobalGenerator* gg, cmLocalGenerator* parent)
this->MakefileVariableSize = 0; this->MakefileVariableSize = 0;
this->IgnoreLibPrefix = false; this->IgnoreLibPrefix = false;
this->PassMakeflags = false; this->PassMakeflags = false;
this->DefineWindowsNULL = false;
this->UnixCD = true; this->UnixCD = true;
this->ColorMakefile = false; this->ColorMakefile = false;
this->SkipPreprocessedSourceRules = false; this->SkipPreprocessedSourceRules = false;
@ -719,7 +718,9 @@ cmLocalUnixMakefileGenerator3
makefileStream makefileStream
<< "# Set environment variables for the build.\n" << "# Set environment variables for the build.\n"
<< "\n"; << "\n";
if(this->DefineWindowsNULL) cmGlobalUnixMakefileGenerator3* gg =
static_cast<cmGlobalUnixMakefileGenerator3*>(this->GlobalGenerator);
if(gg->DefineWindowsNULL)
{ {
makefileStream makefileStream
<< "!IF \"$(OS)\" == \"Windows_NT\"\n" << "!IF \"$(OS)\" == \"Windows_NT\"\n"

View File

@ -80,13 +80,6 @@ public:
void SetMakeSilentFlag(const std::string& s) { this->MakeSilentFlag = s; } void SetMakeSilentFlag(const std::string& s) { this->MakeSilentFlag = s; }
std::string &GetMakeSilentFlag() { return this->MakeSilentFlag; } std::string &GetMakeSilentFlag() { return this->MakeSilentFlag; }
/**
* If set to true, then NULL is set to nil for non Windows_NT.
* This uses make syntax used by nmake and borland.
* The default is false.
*/
void SetDefineWindowsNULL(bool v) {this->DefineWindowsNULL = v;}
/** /**
* If set to true, cd dir && command is used to * If set to true, cd dir && command is used to
* run commands in a different directory. * run commands in a different directory.
@ -297,7 +290,6 @@ private:
int MakefileVariableSize; int MakefileVariableSize;
std::string MakeSilentFlag; std::string MakeSilentFlag;
std::string ConfigurationName; std::string ConfigurationName;
bool DefineWindowsNULL;
bool UnixCD; bool UnixCD;
bool PassMakeflags; bool PassMakeflags;
bool MakeCommandEscapeTargetTwice; bool MakeCommandEscapeTargetTwice;