diff options
author | Brad King <brad.king@kitware.com> | 2007-05-16 17:24:17 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2007-05-16 17:24:17 (GMT) |
commit | 142210997f803cd64f93795980dbf6dd38182697 (patch) | |
tree | f861c88b1df5be1ce8fcf03ee9793c8ff4ce78e3 | |
parent | 01c7db07c3826c05c658a370cd0d42bf3128fcff (diff) | |
download | CMake-142210997f803cd64f93795980dbf6dd38182697.zip CMake-142210997f803cd64f93795980dbf6dd38182697.tar.gz CMake-142210997f803cd64f93795980dbf6dd38182697.tar.bz2 |
BUG: Watcom WMake needs empty rule commands even for symbolic targets. This fixes the cmake_force target.
-rw-r--r-- | Source/cmGlobalUnixMakefileGenerator3.h | 15 | ||||
-rw-r--r-- | Source/cmGlobalWatcomWMakeGenerator.cxx | 2 | ||||
-rw-r--r-- | Source/cmLocalUnixMakefileGenerator3.cxx | 5 | ||||
-rw-r--r-- | Source/cmMakefileTargetGenerator.cxx | 2 |
4 files changed, 14 insertions, 10 deletions
diff --git a/Source/cmGlobalUnixMakefileGenerator3.h b/Source/cmGlobalUnixMakefileGenerator3.h index aa901af..5d4ceef 100644 --- a/Source/cmGlobalUnixMakefileGenerator3.h +++ b/Source/cmGlobalUnixMakefileGenerator3.h @@ -111,9 +111,9 @@ public: 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 @@ protected: // 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; diff --git a/Source/cmGlobalWatcomWMakeGenerator.cxx b/Source/cmGlobalWatcomWMakeGenerator.cxx index 2505353..5505be7 100644 --- a/Source/cmGlobalWatcomWMakeGenerator.cxx +++ b/Source/cmGlobalWatcomWMakeGenerator.cxx @@ -24,7 +24,7 @@ cmGlobalWatcomWMakeGenerator::cmGlobalWatcomWMakeGenerator() this->ForceUnixPaths = false; this->ToolSupportsColor = true; this->NeedSymbolicMark = true; - this->EmptyCommandsHack = "@cd ."; + this->EmptyRuleHackCommand = "@cd ."; } void cmGlobalWatcomWMakeGenerator diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx index 5370750..3d89366 100644 --- a/Source/cmLocalUnixMakefileGenerator3.cxx +++ b/Source/cmLocalUnixMakefileGenerator3.cxx @@ -714,6 +714,11 @@ cmLocalUnixMakefileGenerator3 { 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. diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index 54d7835..8eec8c2 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/Source/cmMakefileTargetGenerator.cxx @@ -923,7 +923,7 @@ cmMakefileTargetGenerator // 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); |