From d774cd7c2be90f55b6d198ab147776a4303ca703 Mon Sep 17 00:00:00 2001 From: Sebastien Barre Date: Mon, 22 Apr 2002 14:22:46 -0400 Subject: [PATCH] ENH: make CMake less verbose/precious --- Source/cmNMakeMakefileGenerator.cxx | 21 ++++++++++++------- Source/cmNMakeMakefileGenerator.h | 3 ++- Source/cmUnixMakefileGenerator.cxx | 31 +++++++++++++++++++---------- Source/cmUnixMakefileGenerator.h | 7 +++++-- 4 files changed, 41 insertions(+), 21 deletions(-) diff --git a/Source/cmNMakeMakefileGenerator.cxx b/Source/cmNMakeMakefileGenerator.cxx index d140fec332..53828f88b2 100644 --- a/Source/cmNMakeMakefileGenerator.cxx +++ b/Source/cmNMakeMakefileGenerator.cxx @@ -225,23 +225,30 @@ void cmNMakeMakefileGenerator::OutputMakeVariables(std::ostream& fout) void cmNMakeMakefileGenerator::BuildInSubDirectory(std::ostream& fout, - const char* directory, - const char* target1, - const char* target2) + const char* directory, + const char* target1, + const char* target2, + bool silent) { if(target1) { std::string dir = this->ConvertToOutputPath(directory); fout << "\tif not exist \"" << dir << "\\$(NULL)\"" << " " - << "$(MAKE) $(MAKESILENT) rebuild_cache\n" - << "\techo Building " << target1 << " in directory " << directory << "\n" - << "\tcd " << dir << "\n" + << "$(MAKE) $(MAKESILENT) rebuild_cache\n"; + if (!silent) + { + fout << "\techo Building " << target1 << " in directory " << directory << "\n"; + } + fout << "\tcd " << dir << "\n" << "\t$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) " << target1 << "\n"; } if(target2) { - fout << "\techo Building " << target2 << " in directory " << directory << "\n"; + if (!silent) + { + fout << "\techo Building " << target2 << " in directory " << directory << "\n"; + } fout << "\t$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) " << target2 << "\n"; } std::string currentDir = m_Makefile->GetCurrentOutputDirectory(); diff --git a/Source/cmNMakeMakefileGenerator.h b/Source/cmNMakeMakefileGenerator.h index 06f3c1cf20..e3d8b03eb6 100644 --- a/Source/cmNMakeMakefileGenerator.h +++ b/Source/cmNMakeMakefileGenerator.h @@ -49,7 +49,8 @@ protected: virtual void BuildInSubDirectory(std::ostream& fout, const char* directory, const char* target1, - const char* target2); + const char* target2, + bool silent = false); void OutputMakeRule(std::ostream& fout, const char* comment, const char* target, diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx index b9677a8d0b..a17f19155c 100644 --- a/Source/cmUnixMakefileGenerator.cxx +++ b/Source/cmUnixMakefileGenerator.cxx @@ -230,9 +230,9 @@ void cmUnixMakefileGenerator::OutputMakefile(const char* file) "Default target executed when no arguments are given to make, first make sure cmake.depends exists, cmake.check_depends is up-to-date, check the sources, then build the all target", "default_target", 0, - "$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) cmake.depends", - "$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) cmake.check_depends", - "$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) -f cmake.check_depends", + "$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) cmake.depends > cmake.depends.out", + "$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) cmake.check_depends >> cmake.depends.out", + "$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) -f cmake.check_depends >> cmake.depends.out", "$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) all"); this->OutputTargetRules(fout); @@ -1173,20 +1173,27 @@ inline std::string FixDirectoryName(const char* dir) void cmUnixMakefileGenerator::BuildInSubDirectory(std::ostream& fout, const char* dir, const char* target1, - const char* target2) + const char* target2, + bool silent) { std::string directory = this->ConvertToOutputPath(dir); if(target1) { fout << "\t@if test ! -d " << directory - << "; then $(MAKE) rebuild_cache; fi\n" - << "\techo Building " << target1 << " in directory " << directory << "\n" - << "\t@cd " << directory + << "; then $(MAKE) rebuild_cache; fi\n"; + if (!silent) + { + fout << "\techo Building " << target1 << " in directory " << directory << "\n"; + } + fout << "\t@cd " << directory << "; $(MAKE) -$(MAKEFLAGS) " << target1 << "\n"; } if(target2) { - fout << "\techo Building " << target2 << " in directory " << directory << "\n"; + if (!silent) + { + fout << "\techo Building " << target2 << " in directory " << directory << "\n"; + } fout << "\t@cd " << directory << "; $(MAKE) -$(MAKEFLAGS) " << target2 << "\n"; } @@ -1202,7 +1209,8 @@ OutputSubDirectoryVars(std::ostream& fout, const char* target1, const char* target2, const char* depend, - const std::vector& SubDirectories) + const std::vector& SubDirectories, + bool silent) { if(!depend) { @@ -1249,7 +1257,7 @@ OutputSubDirectoryVars(std::ostream& fout, dir += "/"; dir += SubDirectories[i]; this->BuildInSubDirectory(fout, dir.c_str(), - target1, target2); + target1, target2, silent); } fout << "\n\n"; } @@ -1271,7 +1279,8 @@ void cmUnixMakefileGenerator::OutputSubDirectoryRules(std::ostream& fout) "default_target", "default_target", 0, "$(TARGETS)", - SubDirectories); + SubDirectories, + true); this->OutputSubDirectoryVars(fout, "SUBDIR_CLEAN", "clean", "clean", 0, 0, diff --git a/Source/cmUnixMakefileGenerator.h b/Source/cmUnixMakefileGenerator.h index 03875e7da4..9881484dad 100644 --- a/Source/cmUnixMakefileGenerator.h +++ b/Source/cmUnixMakefileGenerator.h @@ -120,7 +120,8 @@ protected: virtual void BuildInSubDirectory(std::ostream& fout, const char* directory, const char* target1, - const char* target2); + const char* target2, + bool silent = false); virtual void OutputSubDirectoryVars(std::ostream& fout, const char* var, @@ -129,7 +130,9 @@ protected: const char* target2, const char* depend, const std::vector& - SubDirectories); + SubDirectories, + bool silent = false); + virtual void OutputMakeRule(std::ostream&, const char* comment, const char* target,