[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