[cmake-commits] king committed cmGlobalUnixMakefileGenerator3.h 1.39
1.40 cmGlobalWatcomWMakeGenerator.cxx 1.11 1.12
cmLocalUnixMakefileGenerator3.cxx 1.206 1.207
cmMakefileTargetGenerator.cxx 1.62 1.63
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed May 16 13:24:19 EDT 2007
Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv19477
Modified Files:
cmGlobalUnixMakefileGenerator3.h
cmGlobalWatcomWMakeGenerator.cxx
cmLocalUnixMakefileGenerator3.cxx
cmMakefileTargetGenerator.cxx
Log Message:
BUG: Watcom WMake needs empty rule commands even for symbolic targets. This fixes the cmake_force target.
Index: cmGlobalWatcomWMakeGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalWatcomWMakeGenerator.cxx,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- cmGlobalWatcomWMakeGenerator.cxx 21 Feb 2007 17:19:51 -0000 1.11
+++ cmGlobalWatcomWMakeGenerator.cxx 16 May 2007 17:24:17 -0000 1.12
@@ -24,7 +24,7 @@
this->ForceUnixPaths = false;
this->ToolSupportsColor = true;
this->NeedSymbolicMark = true;
- this->EmptyCommandsHack = "@cd .";
+ this->EmptyRuleHackCommand = "@cd .";
}
void cmGlobalWatcomWMakeGenerator
Index: cmGlobalUnixMakefileGenerator3.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalUnixMakefileGenerator3.h,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- cmGlobalUnixMakefileGenerator3.h 12 Apr 2007 19:46:14 -0000 1.39
+++ cmGlobalUnixMakefileGenerator3.h 16 May 2007 17:24:17 -0000 1.40
@@ -111,9 +111,9 @@
check-build-system step. */
virtual void CheckMultipleOutputs(cmMakefile* mf, bool verbose);
- /** Get the command to use for a non-symbolic target file that has
- no rule. This is used for multiple output dependencies. */
- std::string GetEmptyCommandHack() { return this->EmptyCommandsHack; }
+ /** Get the command to use for a target that has no rule. This is
+ used for multiple output dependencies and for cmake_force. */
+ std::string GetEmptyRuleHackCommand() { return this->EmptyRuleHackCommand; }
/** Get the fake dependency to use when a rule has no real commands
or dependencies. */
@@ -175,11 +175,10 @@
// that can be added.
std::string EmptyRuleHackDepends;
- // Some make programs (Watcom) do not like rules with no commands
- // for non-symbolic targets. If non-empty this variable holds a
- // bogus command that may be put in the rule to satisfy the make
- // program.
- std::string EmptyCommandsHack;
+ // Some make programs (Watcom) do not like rules with no commands.
+ // If non-empty this variable holds a bogus command that may be put
+ // in the rule to satisfy the make program.
+ std::string EmptyRuleHackCommand;
typedef std::map<cmStdString, cmStdString> MultipleOutputPairsType;
MultipleOutputPairsType MultipleOutputPairs;
Index: cmLocalUnixMakefileGenerator3.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalUnixMakefileGenerator3.cxx,v
retrieving revision 1.206
retrieving revision 1.207
diff -u -d -r1.206 -r1.207
--- cmLocalUnixMakefileGenerator3.cxx 10 May 2007 18:43:55 -0000 1.206
+++ cmLocalUnixMakefileGenerator3.cxx 16 May 2007 17:24:17 -0000 1.207
@@ -714,6 +714,11 @@
{
no_depends.push_back(hack);
}
+ std::string hack_cmd = gg->GetEmptyRuleHackCommand();
+ if(!hack_cmd.empty())
+ {
+ no_commands.push_back(hack_cmd);
+ }
// Special symbolic target that never exists to force dependers to
// run their rules.
Index: cmMakefileTargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefileTargetGenerator.cxx,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- cmMakefileTargetGenerator.cxx 1 May 2007 17:51:25 -0000 1.62
+++ cmMakefileTargetGenerator.cxx 16 May 2007 17:24:17 -0000 1.63
@@ -923,7 +923,7 @@
// to be created.
std::vector<std::string> commands;
std::vector<std::string> depends;
- std::string emptyCommand = this->GlobalGenerator->GetEmptyCommandHack();
+ std::string emptyCommand = this->GlobalGenerator->GetEmptyRuleHackCommand();
if(!emptyCommand.empty())
{
commands.push_back(emptyCommand);
More information about the Cmake-commits
mailing list