cmGlobalGenerator: Move some flags from cmLocalGenerator.
These flags are global, and so they belong here instead of being set on each local generator.
This commit is contained in:
parent
ed41a8e7b4
commit
b17686d2bb
|
@ -21,6 +21,7 @@ cmGlobalBorlandMakefileGenerator::cmGlobalBorlandMakefileGenerator()
|
||||||
this->ForceUnixPaths = false;
|
this->ForceUnixPaths = false;
|
||||||
this->ToolSupportsColor = true;
|
this->ToolSupportsColor = true;
|
||||||
this->UseLinkScript = false;
|
this->UseLinkScript = false;
|
||||||
|
this->WindowsShell = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,7 +44,6 @@ cmLocalGenerator *cmGlobalBorlandMakefileGenerator::CreateLocalGenerator(
|
||||||
cmLocalUnixMakefileGenerator3* lg =
|
cmLocalUnixMakefileGenerator3* lg =
|
||||||
new cmLocalUnixMakefileGenerator3(this, parent);
|
new cmLocalUnixMakefileGenerator3(this, parent);
|
||||||
lg->SetIncludeDirective("!include");
|
lg->SetIncludeDirective("!include");
|
||||||
lg->SetWindowsShell(true);
|
|
||||||
lg->SetDefineWindowsNULL(true);
|
lg->SetDefineWindowsNULL(true);
|
||||||
lg->SetMakefileVariableSize(32);
|
lg->SetMakefileVariableSize(32);
|
||||||
lg->SetPassMakeflags(true);
|
lg->SetPassMakeflags(true);
|
||||||
|
|
|
@ -71,6 +71,13 @@ cmGlobalGenerator::cmGlobalGenerator()
|
||||||
this->ExtraGenerator = 0;
|
this->ExtraGenerator = 0;
|
||||||
this->CurrentLocalGenerator = 0;
|
this->CurrentLocalGenerator = 0;
|
||||||
this->TryCompileOuterMakefile = 0;
|
this->TryCompileOuterMakefile = 0;
|
||||||
|
|
||||||
|
this->WindowsShell = false;
|
||||||
|
this->WindowsVSIDE = false;
|
||||||
|
this->WatcomWMake = false;
|
||||||
|
this->MinGWMake = false;
|
||||||
|
this->NMake = false;
|
||||||
|
this->MSYSShell = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
cmGlobalGenerator::~cmGlobalGenerator()
|
cmGlobalGenerator::~cmGlobalGenerator()
|
||||||
|
|
|
@ -354,6 +354,13 @@ public:
|
||||||
cmFileLockPool& GetFileLockPool() { return FileLockPool; }
|
cmFileLockPool& GetFileLockPool() { return FileLockPool; }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
bool WindowsShell;
|
||||||
|
bool WindowsVSIDE;
|
||||||
|
bool WatcomWMake;
|
||||||
|
bool MinGWMake;
|
||||||
|
bool NMake;
|
||||||
|
bool MSYSShell;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void Generate();
|
virtual void Generate();
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,8 @@ cmGlobalJOMMakefileGenerator::cmGlobalJOMMakefileGenerator()
|
||||||
this->ForceUnixPaths = false;
|
this->ForceUnixPaths = false;
|
||||||
this->ToolSupportsColor = true;
|
this->ToolSupportsColor = true;
|
||||||
this->UseLinkScript = false;
|
this->UseLinkScript = false;
|
||||||
|
this->WindowsShell = true;
|
||||||
|
this->NMake = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmGlobalJOMMakefileGenerator
|
void cmGlobalJOMMakefileGenerator
|
||||||
|
@ -51,11 +53,9 @@ cmGlobalJOMMakefileGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
|
||||||
cmLocalUnixMakefileGenerator3* lg
|
cmLocalUnixMakefileGenerator3* lg
|
||||||
= new cmLocalUnixMakefileGenerator3(this, parent);
|
= new cmLocalUnixMakefileGenerator3(this, parent);
|
||||||
lg->SetDefineWindowsNULL(true);
|
lg->SetDefineWindowsNULL(true);
|
||||||
lg->SetWindowsShell(true);
|
|
||||||
lg->SetMakeSilentFlag("/nologo");
|
lg->SetMakeSilentFlag("/nologo");
|
||||||
lg->SetIgnoreLibPrefix(true);
|
lg->SetIgnoreLibPrefix(true);
|
||||||
lg->SetPassMakeflags(true);
|
lg->SetPassMakeflags(true);
|
||||||
lg->SetNMake(true);
|
|
||||||
lg->SetUnixCD(false);
|
lg->SetUnixCD(false);
|
||||||
return lg;
|
return lg;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ cmGlobalMSYSMakefileGenerator::cmGlobalMSYSMakefileGenerator()
|
||||||
this->ForceUnixPaths = true;
|
this->ForceUnixPaths = true;
|
||||||
this->ToolSupportsColor = true;
|
this->ToolSupportsColor = true;
|
||||||
this->UseLinkScript = false;
|
this->UseLinkScript = false;
|
||||||
|
this->MSYSShell = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
|
@ -98,8 +99,6 @@ cmGlobalMSYSMakefileGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
|
||||||
{
|
{
|
||||||
cmLocalUnixMakefileGenerator3* lg =
|
cmLocalUnixMakefileGenerator3* lg =
|
||||||
new cmLocalUnixMakefileGenerator3(this, parent);
|
new cmLocalUnixMakefileGenerator3(this, parent);
|
||||||
lg->SetWindowsShell(false);
|
|
||||||
lg->SetMSYSShell(true);
|
|
||||||
lg->SetIgnoreLibPrefix(true);
|
lg->SetIgnoreLibPrefix(true);
|
||||||
lg->SetPassMakeflags(false);
|
lg->SetPassMakeflags(false);
|
||||||
lg->SetUnixCD(true);
|
lg->SetUnixCD(true);
|
||||||
|
|
|
@ -19,6 +19,8 @@ cmGlobalMinGWMakefileGenerator::cmGlobalMinGWMakefileGenerator()
|
||||||
this->ForceUnixPaths = true;
|
this->ForceUnixPaths = true;
|
||||||
this->ToolSupportsColor = true;
|
this->ToolSupportsColor = true;
|
||||||
this->UseLinkScript = true;
|
this->UseLinkScript = true;
|
||||||
|
this->WindowsShell = true;
|
||||||
|
this->MinGWMake = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmGlobalMinGWMakefileGenerator
|
void cmGlobalMinGWMakefileGenerator
|
||||||
|
@ -62,11 +64,9 @@ cmGlobalMinGWMakefileGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
|
||||||
{
|
{
|
||||||
cmLocalUnixMakefileGenerator3* lg =
|
cmLocalUnixMakefileGenerator3* lg =
|
||||||
new cmLocalUnixMakefileGenerator3(this, parent);
|
new cmLocalUnixMakefileGenerator3(this, parent);
|
||||||
lg->SetWindowsShell(true);
|
|
||||||
lg->SetIgnoreLibPrefix(true);
|
lg->SetIgnoreLibPrefix(true);
|
||||||
lg->SetPassMakeflags(false);
|
lg->SetPassMakeflags(false);
|
||||||
lg->SetUnixCD(true);
|
lg->SetUnixCD(true);
|
||||||
lg->SetMinGWMake(true);
|
|
||||||
return lg;
|
return lg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,8 @@ cmGlobalNMakeMakefileGenerator::cmGlobalNMakeMakefileGenerator()
|
||||||
this->ForceUnixPaths = false;
|
this->ForceUnixPaths = false;
|
||||||
this->ToolSupportsColor = true;
|
this->ToolSupportsColor = true;
|
||||||
this->UseLinkScript = false;
|
this->UseLinkScript = false;
|
||||||
|
this->WindowsShell = true;
|
||||||
|
this->NMake = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmGlobalNMakeMakefileGenerator
|
void cmGlobalNMakeMakefileGenerator
|
||||||
|
@ -51,11 +53,9 @@ cmGlobalNMakeMakefileGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
|
||||||
cmLocalUnixMakefileGenerator3* lg =
|
cmLocalUnixMakefileGenerator3* lg =
|
||||||
new cmLocalUnixMakefileGenerator3(this, parent);
|
new cmLocalUnixMakefileGenerator3(this, parent);
|
||||||
lg->SetDefineWindowsNULL(true);
|
lg->SetDefineWindowsNULL(true);
|
||||||
lg->SetWindowsShell(true);
|
|
||||||
lg->SetMakeSilentFlag("/nologo");
|
lg->SetMakeSilentFlag("/nologo");
|
||||||
lg->SetIgnoreLibPrefix(true);
|
lg->SetIgnoreLibPrefix(true);
|
||||||
lg->SetPassMakeflags(true);
|
lg->SetPassMakeflags(true);
|
||||||
lg->SetNMake(true);
|
|
||||||
lg->SetUnixCD(false);
|
lg->SetUnixCD(false);
|
||||||
return lg;
|
return lg;
|
||||||
}
|
}
|
||||||
|
|
|
@ -488,6 +488,9 @@ cmGlobalNinjaGenerator::cmGlobalNinjaGenerator()
|
||||||
, ComputingUnknownDependencies(false)
|
, ComputingUnknownDependencies(false)
|
||||||
, PolicyCMP0058(cmPolicies::WARN)
|
, PolicyCMP0058(cmPolicies::WARN)
|
||||||
{
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
this->WindowsShell = true;
|
||||||
|
#endif
|
||||||
// // Ninja is not ported to non-Unix OS yet.
|
// // Ninja is not ported to non-Unix OS yet.
|
||||||
// this->ForceUnixPaths = true;
|
// this->ForceUnixPaths = true;
|
||||||
this->FindMakeProgramFile = "CMakeNinjaFindMake.cmake";
|
this->FindMakeProgramFile = "CMakeNinjaFindMake.cmake";
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
cmGlobalVisualStudioGenerator::cmGlobalVisualStudioGenerator()
|
cmGlobalVisualStudioGenerator::cmGlobalVisualStudioGenerator()
|
||||||
{
|
{
|
||||||
|
this->WindowsShell = true;
|
||||||
|
this->WindowsVSIDE = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
|
@ -22,6 +22,10 @@ cmGlobalWatcomWMakeGenerator::cmGlobalWatcomWMakeGenerator()
|
||||||
this->ToolSupportsColor = true;
|
this->ToolSupportsColor = true;
|
||||||
this->NeedSymbolicMark = true;
|
this->NeedSymbolicMark = true;
|
||||||
this->EmptyRuleHackCommand = "@cd .";
|
this->EmptyRuleHackCommand = "@cd .";
|
||||||
|
#ifdef _WIN32
|
||||||
|
this->WindowsShell = true;
|
||||||
|
#endif
|
||||||
|
this->WatcomWMake = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmGlobalWatcomWMakeGenerator
|
void cmGlobalWatcomWMakeGenerator
|
||||||
|
@ -47,10 +51,6 @@ cmGlobalWatcomWMakeGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
|
||||||
cmLocalUnixMakefileGenerator3* lg
|
cmLocalUnixMakefileGenerator3* lg
|
||||||
= new cmLocalUnixMakefileGenerator3(this, parent);
|
= new cmLocalUnixMakefileGenerator3(this, parent);
|
||||||
lg->SetDefineWindowsNULL(true);
|
lg->SetDefineWindowsNULL(true);
|
||||||
#ifdef _WIN32
|
|
||||||
lg->SetWindowsShell(true);
|
|
||||||
#endif
|
|
||||||
lg->SetWatcomWMake(true);
|
|
||||||
lg->SetMakeSilentFlag("-h");
|
lg->SetMakeSilentFlag("-h");
|
||||||
lg->SetIgnoreLibPrefix(true);
|
lg->SetIgnoreLibPrefix(true);
|
||||||
lg->SetPassMakeflags(false);
|
lg->SetPassMakeflags(false);
|
||||||
|
|
|
@ -61,12 +61,6 @@ cmLocalGenerator::cmLocalGenerator(cmGlobalGenerator* gg,
|
||||||
}
|
}
|
||||||
this->Makefile = new cmMakefile(this);
|
this->Makefile = new cmMakefile(this);
|
||||||
|
|
||||||
this->WindowsShell = false;
|
|
||||||
this->WindowsVSIDE = false;
|
|
||||||
this->WatcomWMake = false;
|
|
||||||
this->MinGWMake = false;
|
|
||||||
this->NMake = false;
|
|
||||||
this->MSYSShell = false;
|
|
||||||
this->LinkScriptShell = false;
|
this->LinkScriptShell = false;
|
||||||
this->IgnoreLibPrefix = false;
|
this->IgnoreLibPrefix = false;
|
||||||
this->UseRelativePaths = false;
|
this->UseRelativePaths = false;
|
||||||
|
@ -1254,7 +1248,7 @@ cmLocalGenerator::ConvertToOutputForExistingCommon(const std::string& remote,
|
||||||
// If this is a windows shell, the result has a space, and the path
|
// If this is a windows shell, the result has a space, and the path
|
||||||
// already exists, we can use a short-path to reference it without a
|
// already exists, we can use a short-path to reference it without a
|
||||||
// space.
|
// space.
|
||||||
if(this->WindowsShell && result.find(' ') != result.npos &&
|
if(this->GlobalGenerator->WindowsShell && result.find(' ') != result.npos &&
|
||||||
cmSystemTools::FileExists(remote.c_str()))
|
cmSystemTools::FileExists(remote.c_str()))
|
||||||
{
|
{
|
||||||
std::string tmp;
|
std::string tmp;
|
||||||
|
@ -2626,7 +2620,7 @@ void cmLocalGenerator::JoinDefines(const std::set<std::string>& defines,
|
||||||
{
|
{
|
||||||
// Append the definition with proper escaping.
|
// Append the definition with proper escaping.
|
||||||
std::string def = dflag;
|
std::string def = dflag;
|
||||||
if(this->WatcomWMake)
|
if(this->GlobalGenerator->WatcomWMake)
|
||||||
{
|
{
|
||||||
// The Watcom compiler does its own command line parsing instead
|
// The Watcom compiler does its own command line parsing instead
|
||||||
// of using the windows shell rules. Definitions are one of
|
// of using the windows shell rules. Definitions are one of
|
||||||
|
@ -2805,7 +2799,7 @@ std::string cmLocalGenerator::ConvertToOutputFormat(const std::string& source,
|
||||||
// For the MSYS shell convert drive letters to posix paths, so
|
// For the MSYS shell convert drive letters to posix paths, so
|
||||||
// that c:/some/path becomes /c/some/path. This is needed to
|
// that c:/some/path becomes /c/some/path. This is needed to
|
||||||
// avoid problems with the shell path translation.
|
// avoid problems with the shell path translation.
|
||||||
if(this->MSYSShell && !this->LinkScriptShell)
|
if(this->GlobalGenerator->MSYSShell && !this->LinkScriptShell)
|
||||||
{
|
{
|
||||||
if(result.size() > 2 && result[1] == ':')
|
if(result.size() > 2 && result[1] == ':')
|
||||||
{
|
{
|
||||||
|
@ -2813,7 +2807,7 @@ std::string cmLocalGenerator::ConvertToOutputFormat(const std::string& source,
|
||||||
result[0] = '/';
|
result[0] = '/';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(this->WindowsShell)
|
if(this->GlobalGenerator->WindowsShell)
|
||||||
{
|
{
|
||||||
std::replace(result.begin(), result.end(), '/', '\\');
|
std::replace(result.begin(), result.end(), '/', '\\');
|
||||||
}
|
}
|
||||||
|
@ -3324,6 +3318,26 @@ void cmLocalGenerator::ComputeObjectFilenames(
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool cmLocalGenerator::IsWindowsShell() const
|
||||||
|
{
|
||||||
|
return this->GlobalGenerator->WindowsShell;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cmLocalGenerator::IsWatcomWMake() const
|
||||||
|
{
|
||||||
|
return this->GlobalGenerator->WatcomWMake;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cmLocalGenerator::IsMinGWMake() const
|
||||||
|
{
|
||||||
|
return this->GlobalGenerator->MinGWMake;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cmLocalGenerator::IsNMake() const
|
||||||
|
{
|
||||||
|
return this->GlobalGenerator->NMake;
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
std::string
|
std::string
|
||||||
cmLocalGenerator
|
cmLocalGenerator
|
||||||
|
@ -3467,7 +3481,7 @@ std::string cmLocalGenerator::EscapeForShell(const std::string& str,
|
||||||
|
|
||||||
// Compute the flags for the target shell environment.
|
// Compute the flags for the target shell environment.
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
if(this->WindowsVSIDE)
|
if(this->GlobalGenerator->WindowsVSIDE)
|
||||||
{
|
{
|
||||||
flags |= cmsysSystem_Shell_Flag_VSIDE;
|
flags |= cmsysSystem_Shell_Flag_VSIDE;
|
||||||
}
|
}
|
||||||
|
@ -3487,27 +3501,27 @@ std::string cmLocalGenerator::EscapeForShell(const std::string& str,
|
||||||
{
|
{
|
||||||
flags |= cmsysSystem_Shell_Flag_WatcomQuote;
|
flags |= cmsysSystem_Shell_Flag_WatcomQuote;
|
||||||
}
|
}
|
||||||
if(this->WatcomWMake)
|
if(this->GlobalGenerator->WatcomWMake)
|
||||||
{
|
{
|
||||||
flags |= cmsysSystem_Shell_Flag_WatcomWMake;
|
flags |= cmsysSystem_Shell_Flag_WatcomWMake;
|
||||||
}
|
}
|
||||||
if(this->MinGWMake)
|
if(this->GlobalGenerator->MinGWMake)
|
||||||
{
|
{
|
||||||
flags |= cmsysSystem_Shell_Flag_MinGWMake;
|
flags |= cmsysSystem_Shell_Flag_MinGWMake;
|
||||||
}
|
}
|
||||||
if(this->NMake)
|
if(this->GlobalGenerator->NMake)
|
||||||
{
|
{
|
||||||
flags |= cmsysSystem_Shell_Flag_NMake;
|
flags |= cmsysSystem_Shell_Flag_NMake;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compute the buffer size needed.
|
// Compute the buffer size needed.
|
||||||
int size = (this->WindowsShell ?
|
int size = (this->GlobalGenerator->WindowsShell ?
|
||||||
cmsysSystem_Shell_GetArgumentSizeForWindows(str.c_str(), flags) :
|
cmsysSystem_Shell_GetArgumentSizeForWindows(str.c_str(), flags) :
|
||||||
cmsysSystem_Shell_GetArgumentSizeForUnix(str.c_str(), flags));
|
cmsysSystem_Shell_GetArgumentSizeForUnix(str.c_str(), flags));
|
||||||
|
|
||||||
// Compute the shell argument itself.
|
// Compute the shell argument itself.
|
||||||
std::vector<char> arg(size);
|
std::vector<char> arg(size);
|
||||||
if(this->WindowsShell)
|
if(this->GlobalGenerator->WindowsShell)
|
||||||
{
|
{
|
||||||
cmsysSystem_Shell_GetArgumentForWindows(str.c_str(), &arg[0], flags);
|
cmsysSystem_Shell_GetArgumentForWindows(str.c_str(), &arg[0], flags);
|
||||||
}
|
}
|
||||||
|
|
|
@ -383,6 +383,11 @@ public:
|
||||||
std::map<cmSourceFile const*, std::string>& mapping,
|
std::map<cmSourceFile const*, std::string>& mapping,
|
||||||
cmGeneratorTarget const* gt = 0);
|
cmGeneratorTarget const* gt = 0);
|
||||||
|
|
||||||
|
bool IsWindowsShell() const;
|
||||||
|
bool IsWatcomWMake() const;
|
||||||
|
bool IsMinGWMake() const;
|
||||||
|
bool IsNMake() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
///! put all the libraries for a target on into the given stream
|
///! put all the libraries for a target on into the given stream
|
||||||
virtual void OutputLinkLibraries(std::string& linkLibraries,
|
virtual void OutputLinkLibraries(std::string& linkLibraries,
|
||||||
|
@ -457,17 +462,13 @@ protected:
|
||||||
std::map<std::string, std::string> UniqueObjectNamesMap;
|
std::map<std::string, std::string> UniqueObjectNamesMap;
|
||||||
std::string::size_type ObjectPathMax;
|
std::string::size_type ObjectPathMax;
|
||||||
std::set<std::string> ObjectMaxPathViolations;
|
std::set<std::string> ObjectMaxPathViolations;
|
||||||
bool WindowsShell;
|
|
||||||
bool WindowsVSIDE;
|
|
||||||
bool WatcomWMake;
|
|
||||||
bool MinGWMake;
|
|
||||||
bool NMake;
|
|
||||||
bool MSYSShell;
|
|
||||||
bool LinkScriptShell;
|
bool LinkScriptShell;
|
||||||
bool UseRelativePaths;
|
bool UseRelativePaths;
|
||||||
bool IgnoreLibPrefix;
|
bool IgnoreLibPrefix;
|
||||||
bool Configured;
|
bool Configured;
|
||||||
bool EmitUniversalBinaryFlags;
|
bool EmitUniversalBinaryFlags;
|
||||||
|
|
||||||
// Hack for ExpandRuleVariable until object-oriented version is
|
// Hack for ExpandRuleVariable until object-oriented version is
|
||||||
// committed.
|
// committed.
|
||||||
std::string TargetImplib;
|
std::string TargetImplib;
|
||||||
|
|
|
@ -28,9 +28,6 @@ cmLocalNinjaGenerator::cmLocalNinjaGenerator(cmGlobalGenerator* gg,
|
||||||
, ConfigName("")
|
, ConfigName("")
|
||||||
, HomeRelativeOutputPath("")
|
, HomeRelativeOutputPath("")
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
|
||||||
this->WindowsShell = true;
|
|
||||||
#endif
|
|
||||||
this->TargetImplib = "$TARGET_IMPLIB";
|
this->TargetImplib = "$TARGET_IMPLIB";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,6 @@ cmLocalUnixMakefileGenerator3::
|
||||||
cmLocalUnixMakefileGenerator3(cmGlobalGenerator* gg, cmLocalGenerator* parent)
|
cmLocalUnixMakefileGenerator3(cmGlobalGenerator* gg, cmLocalGenerator* parent)
|
||||||
: cmLocalGenerator(gg, parent)
|
: cmLocalGenerator(gg, parent)
|
||||||
{
|
{
|
||||||
this->WindowsShell = false;
|
|
||||||
this->IncludeDirective = "include";
|
this->IncludeDirective = "include";
|
||||||
this->MakefileVariableSize = 0;
|
this->MakefileVariableSize = 0;
|
||||||
this->IgnoreLibPrefix = false;
|
this->IgnoreLibPrefix = false;
|
||||||
|
@ -679,7 +678,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
|
|
||||||
// Write the list of commands.
|
// Write the list of commands.
|
||||||
os << cmWrap("\t", commands, "", "\n") << "\n";
|
os << cmWrap("\t", commands, "", "\n") << "\n";
|
||||||
if(symbolic && !this->WatcomWMake)
|
if(symbolic && !this->IsWatcomWMake())
|
||||||
{
|
{
|
||||||
os << ".PHONY : " << cmMakeSafe(tgt) << "\n";
|
os << ".PHONY : " << cmMakeSafe(tgt) << "\n";
|
||||||
}
|
}
|
||||||
|
@ -696,7 +695,7 @@ std::string
|
||||||
cmLocalUnixMakefileGenerator3
|
cmLocalUnixMakefileGenerator3
|
||||||
::ConvertShellCommand(std::string const& cmd, RelativeRoot root)
|
::ConvertShellCommand(std::string const& cmd, RelativeRoot root)
|
||||||
{
|
{
|
||||||
if(this->WatcomWMake &&
|
if(this->IsWatcomWMake() &&
|
||||||
cmSystemTools::FileIsFullPath(cmd.c_str()) &&
|
cmSystemTools::FileIsFullPath(cmd.c_str()) &&
|
||||||
cmd.find_first_of("( )") != cmd.npos)
|
cmd.find_first_of("( )") != cmd.npos)
|
||||||
{
|
{
|
||||||
|
@ -730,7 +729,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
<< "NULL=nul\n"
|
<< "NULL=nul\n"
|
||||||
<< "!ENDIF\n";
|
<< "!ENDIF\n";
|
||||||
}
|
}
|
||||||
if(this->WindowsShell)
|
if(this->IsWindowsShell())
|
||||||
{
|
{
|
||||||
makefileStream
|
makefileStream
|
||||||
<< "SHELL = cmd.exe\n"
|
<< "SHELL = cmd.exe\n"
|
||||||
|
@ -798,7 +797,8 @@ cmLocalUnixMakefileGenerator3
|
||||||
makefileStream, "Disable implicit rules so canonical targets will work.",
|
makefileStream, "Disable implicit rules so canonical targets will work.",
|
||||||
".SUFFIXES", no_depends, no_commands, false);
|
".SUFFIXES", no_depends, no_commands, false);
|
||||||
|
|
||||||
if(!this->NMake && !this->WatcomWMake && !this->BorlandMakeCurlyHack)
|
if(!this->IsNMake()
|
||||||
|
&& !this->IsWatcomWMake() && !this->BorlandMakeCurlyHack)
|
||||||
{
|
{
|
||||||
// turn off RCS and SCCS automatic stuff from gmake
|
// turn off RCS and SCCS automatic stuff from gmake
|
||||||
makefileStream
|
makefileStream
|
||||||
|
@ -810,7 +810,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
depends.push_back(".hpux_make_needs_suffix_list");
|
depends.push_back(".hpux_make_needs_suffix_list");
|
||||||
this->WriteMakeRule(makefileStream, 0,
|
this->WriteMakeRule(makefileStream, 0,
|
||||||
".SUFFIXES", depends, no_commands, false);
|
".SUFFIXES", depends, no_commands, false);
|
||||||
if(this->WatcomWMake)
|
if(this->IsWatcomWMake())
|
||||||
{
|
{
|
||||||
// Switch on WMake feature, if an error or interrupt occurs during
|
// Switch on WMake feature, if an error or interrupt occurs during
|
||||||
// makefile processing, the current target being made may be deleted
|
// makefile processing, the current target being made may be deleted
|
||||||
|
@ -828,7 +828,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
<< "VERBOSE = 1\n"
|
<< "VERBOSE = 1\n"
|
||||||
<< "\n";
|
<< "\n";
|
||||||
}
|
}
|
||||||
if(this->WatcomWMake)
|
if(this->IsWatcomWMake())
|
||||||
{
|
{
|
||||||
makefileStream <<
|
makefileStream <<
|
||||||
"!ifndef VERBOSE\n"
|
"!ifndef VERBOSE\n"
|
||||||
|
@ -962,7 +962,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
void cmLocalUnixMakefileGenerator3::AppendFlags(std::string& flags,
|
void cmLocalUnixMakefileGenerator3::AppendFlags(std::string& flags,
|
||||||
const std::string& newFlags)
|
const std::string& newFlags)
|
||||||
{
|
{
|
||||||
if(this->WatcomWMake && !newFlags.empty())
|
if(this->IsWatcomWMake() && !newFlags.empty())
|
||||||
{
|
{
|
||||||
std::string newf = newFlags;
|
std::string newf = newFlags;
|
||||||
if(newf.find("\\\"") != newf.npos)
|
if(newf.find("\\\"") != newf.npos)
|
||||||
|
@ -1112,7 +1112,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
//
|
//
|
||||||
bool useCall = false;
|
bool useCall = false;
|
||||||
|
|
||||||
if (this->WindowsShell)
|
if (this->IsWindowsShell())
|
||||||
{
|
{
|
||||||
std::string suffix;
|
std::string suffix;
|
||||||
if (cmd.size() > 4)
|
if (cmd.size() > 4)
|
||||||
|
@ -1179,7 +1179,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
{
|
{
|
||||||
cmd = "call " + cmd;
|
cmd = "call " + cmd;
|
||||||
}
|
}
|
||||||
else if (this->NMake && cmd[0]=='"')
|
else if (this->IsNMake() && cmd[0]=='"')
|
||||||
{
|
{
|
||||||
cmd = "echo >nul && " + cmd;
|
cmd = "echo >nul && " + cmd;
|
||||||
}
|
}
|
||||||
|
@ -2344,7 +2344,7 @@ void cmLocalUnixMakefileGenerator3
|
||||||
// used by NMake and Borland make does not support "cd /d" so this
|
// used by NMake and Borland make does not support "cd /d" so this
|
||||||
// feature simply cannot work with them (Borland make does not even
|
// feature simply cannot work with them (Borland make does not even
|
||||||
// support changing the drive letter with just "d:").
|
// support changing the drive letter with just "d:").
|
||||||
const char* cd_cmd = this->MinGWMake? "cd /d " : "cd ";
|
const char* cd_cmd = this->IsMinGWMake() ? "cd /d " : "cd ";
|
||||||
|
|
||||||
if(!this->UnixCD)
|
if(!this->UnixCD)
|
||||||
{
|
{
|
||||||
|
|
|
@ -80,36 +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; }
|
||||||
|
|
||||||
/**
|
|
||||||
* Set to true if the shell being used is the windows shell.
|
|
||||||
* This controls if statements in the makefile and the SHELL variable.
|
|
||||||
* The default is false.
|
|
||||||
*/
|
|
||||||
void SetWindowsShell(bool v) {this->WindowsShell = v;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set to true if the make tool being used is Watcom WMake.
|
|
||||||
*/
|
|
||||||
void SetWatcomWMake(bool v) {this->WatcomWMake = v;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set to true if the make tool being used is MinGW Make.
|
|
||||||
*/
|
|
||||||
void SetMinGWMake(bool v) {this->MinGWMake = v;}
|
|
||||||
bool IsMinGWMake() const { return this->MinGWMake; }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set to true if the make tool being used is NMake.
|
|
||||||
*/
|
|
||||||
void SetNMake(bool v) {this->NMake = v;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set to true if the shell being used is the MSYS shell.
|
|
||||||
* This controls if statements in the makefile and the SHELL variable.
|
|
||||||
* The default is false.
|
|
||||||
*/
|
|
||||||
void SetMSYSShell(bool v) {this->MSYSShell = v;}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If set to true, then NULL is set to nil for non Windows_NT.
|
* If set to true, then NULL is set to nil for non Windows_NT.
|
||||||
* This uses make syntax used by nmake and borland.
|
* This uses make syntax used by nmake and borland.
|
||||||
|
|
|
@ -23,8 +23,6 @@ cmLocalVisualStudioGenerator
|
||||||
cmLocalGenerator* parent)
|
cmLocalGenerator* parent)
|
||||||
: cmLocalGenerator(gg, parent)
|
: cmLocalGenerator(gg, parent)
|
||||||
{
|
{
|
||||||
this->WindowsShell = true;
|
|
||||||
this->WindowsVSIDE = true;
|
|
||||||
this->Version = v;
|
this->Version = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue