summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-03-11 13:14:07 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2014-03-11 13:14:07 (GMT)
commit1b809c09ff12928545c0b482f82a88ad38da70a4 (patch)
treeae801eade630db2970557df2db0f05811ca107f2 /Source/cmLocalUnixMakefileGenerator3.cxx
parent8559c326c4e79272c621fd8418fc279544d01cd7 (diff)
parentf1b689b64a96fbf1e6f3b154d1bd4ee28ea3d625 (diff)
downloadCMake-1b809c09ff12928545c0b482f82a88ad38da70a4.zip
CMake-1b809c09ff12928545c0b482f82a88ad38da70a4.tar.gz
CMake-1b809c09ff12928545c0b482f82a88ad38da70a4.tar.bz2
Merge topic 'watcom-VERBOSE-and-ERROR'
f1b689b6 Makefile: Improve handling of WMake verbose output and errors
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.cxx')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx37
1 files changed, 25 insertions, 12 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index f7088c2..935da57 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -80,7 +80,6 @@ static std::string cmSplitExtension(std::string const& in, std::string& base)
//----------------------------------------------------------------------------
cmLocalUnixMakefileGenerator3::cmLocalUnixMakefileGenerator3()
{
- this->SilentNoColon = false;
this->WindowsShell = false;
this->IncludeDirective = "include";
this->MakefileVariableSize = 0;
@@ -758,15 +757,17 @@ cmLocalUnixMakefileGenerator3
depends.push_back(".hpux_make_needs_suffix_list");
this->WriteMakeRule(makefileStream, 0,
".SUFFIXES", depends, no_commands, false);
-
- cmGlobalUnixMakefileGenerator3* gg =
- static_cast<cmGlobalUnixMakefileGenerator3*>(this->GlobalGenerator);
- // Write special target to silence make output. This must be after
- // the default target in case VERBOSE is set (which changes the
- // name). The setting of CMAKE_VERBOSE_MAKEFILE to ON will cause a
- // "VERBOSE=1" to be added as a make variable which will change the
- // name of this special target. This gives a make-time choice to
- // the user.
+ if(this->WatcomWMake)
+ {
+ // Switch on WMake feature, if an error or interrupt occurs during
+ // makefile processing, the current target being made may be deleted
+ // without prompting (the same as command line -e option).
+ makefileStream <<
+ "\n"
+ ".ERASE\n"
+ "\n"
+ ;
+ }
if(this->Makefile->IsOn("CMAKE_VERBOSE_MAKEFILE"))
{
makefileStream
@@ -774,12 +775,22 @@ cmLocalUnixMakefileGenerator3
<< "VERBOSE = 1\n"
<< "\n";
}
- if(this->SilentNoColon)
+ if(this->WatcomWMake)
{
- makefileStream << "$(VERBOSE).SILENT\n";
+ makefileStream <<
+ "!ifndef VERBOSE\n"
+ ".SILENT\n"
+ "!endif\n"
+ ;
}
else
{
+ // Write special target to silence make output. This must be after
+ // the default target in case VERBOSE is set (which changes the
+ // name). The setting of CMAKE_VERBOSE_MAKEFILE to ON will cause a
+ // "VERBOSE=1" to be added as a make variable which will change the
+ // name of this special target. This gives a make-time choice to
+ // the user.
this->WriteMakeRule(makefileStream,
"Suppress display of executed commands.",
"$(VERBOSE).SILENT",
@@ -789,6 +800,8 @@ cmLocalUnixMakefileGenerator3
// Work-around for makes that drop rules that have no dependencies
// or commands.
+ cmGlobalUnixMakefileGenerator3* gg =
+ static_cast<cmGlobalUnixMakefileGenerator3*>(this->GlobalGenerator);
std::string hack = gg->GetEmptyRuleHackDepends();
if(!hack.empty())
{