summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-02-05 21:48:16 (GMT)
committerBrad King <brad.king@kitware.com>2015-02-06 13:36:51 (GMT)
commit8521fdf56e4908676c28c6bbdda3f1fb2284d3d7 (patch)
treec3df791d24c06b677cf09bd02c3e791534272ccc /Source/cmLocalUnixMakefileGenerator3.h
parent69ac6d27555cd4819d0c7f40e4471c6f885e23ab (diff)
downloadCMake-8521fdf56e4908676c28c6bbdda3f1fb2284d3d7.zip
CMake-8521fdf56e4908676c28c6bbdda3f1fb2284d3d7.tar.gz
CMake-8521fdf56e4908676c28c6bbdda3f1fb2284d3d7.tar.bz2
Makefile: Fix output during parallel builds (#12991)
Replace use of separate "cmake -E cmake_progress_report" and "cmake -E cmake_echo_color" commands to report the progress and message portions of build output lines with --progress-* options to the latter to print everything with a single command. The line buffering of the stdout FILE stream should cause the whole line to be printed with one atomic write. This will avoid inter-mixing of line-wise messages from different processes during a parallel build.
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.h')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index 7c8e27f..1ff5e7f 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -184,8 +184,9 @@ public:
// append an echo command
enum EchoColor { EchoNormal, EchoDepend, EchoBuild, EchoLink,
EchoGenerate, EchoGlobal };
- void AppendEcho(std::vector<std::string>& commands, const char* text,
- EchoColor color = EchoNormal);
+ struct EchoProgress { std::string Dir; std::string Arg; };
+ void AppendEcho(std::vector<std::string>& commands, std::string const& text,
+ EchoColor color = EchoNormal, EchoProgress const* = 0);
/** Get whether the makefile is to have color. */
bool GetColorMakefile() const { return this->ColorMakefile; }