summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-10-18 17:38:36 (GMT)
committerBrad King <brad.king@kitware.com>2013-10-18 17:45:27 (GMT)
commitbcd5de775a412881e28c4c58f1d6ce535135e97f (patch)
treefd5c044a6656cdd8f7e56de661ab72cbaaf08340
parent919e1e845361d6e29789f5347d12af3318452843 (diff)
downloadCMake-bcd5de775a412881e28c4c58f1d6ce535135e97f.zip
CMake-bcd5de775a412881e28c4c58f1d6ce535135e97f.tar.gz
CMake-bcd5de775a412881e28c4c58f1d6ce535135e97f.tar.bz2
cmake: Always pass through stdout/stderr in --build mode
Enable the --use-stderr behavior by default and ignore the old option. Passing through the pipes allows color terminal output and other things to work as if one ran the native build command directly.
-rw-r--r--Help/manual/cmake.1.rst5
-rw-r--r--Source/cmake.cxx6
-rw-r--r--Source/cmake.h3
-rw-r--r--Source/cmakemain.cxx10
4 files changed, 8 insertions, 16 deletions
diff --git a/Help/manual/cmake.1.rst b/Help/manual/cmake.1.rst
index 64d0fb3..e8b98bd 100644
--- a/Help/manual/cmake.1.rst
+++ b/Help/manual/cmake.1.rst
@@ -64,10 +64,7 @@ native tool on their platform.
--config <cfg> = For multi-configuration tools, choose <cfg>.
--clean-first = Build target 'clean' first, then build.
(To clean only, use --target 'clean'.)
- --use-stderr = Don't merge stdout/stderr output and pass the
- original stdout/stderr handles to the native
- tool so it can use the capabilities of the
- calling terminal (e.g. colored output).
+ --use-stderr = Ignored. Behavior is default in CMake >= 3.0.
-- = Pass remaining options to the native tool.
Run cmake --build with no options for quick help.
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index d11a40b..dc3a168 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -2875,8 +2875,7 @@ int cmake::Build(const std::string& dir,
const std::string& target,
const std::string& config,
const std::vector<std::string>& nativeOptions,
- bool clean,
- cmSystemTools::OutputOption outputflag)
+ bool clean)
{
if(!cmSystemTools::FileIsDirectory(dir.c_str()))
{
@@ -2918,7 +2917,8 @@ int cmake::Build(const std::string& dir,
projName.c_str(), target.c_str(),
&output,
makeProgram.c_str(),
- config.c_str(), clean, false, 0, outputflag,
+ config.c_str(), clean, false, 0,
+ cmSystemTools::OUTPUT_PASSTHROUGH,
0, nativeOptions);
}
diff --git a/Source/cmake.h b/Source/cmake.h
index 73e5109..7fe130b 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -362,8 +362,7 @@ class cmake
const std::string& target,
const std::string& config,
const std::vector<std::string>& nativeOptions,
- bool clean,
- cmSystemTools::OutputOption outputflag);
+ bool clean);
void UnwatchUnusedCli(const char* var);
void WatchUnusedCli(const char* var);
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index 5113a75..77b6ce8 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -50,10 +50,7 @@ static const char * cmDocumentationUsage[][2] =
" --config <cfg> = For multi-configuration tools, choose <cfg>.\n" \
" --clean-first = Build target 'clean' first, then build.\n" \
" (To clean only, use --target 'clean'.)\n" \
- " --use-stderr = Don't merge stdout/stderr output and pass the\n" \
- " original stdout/stderr handles to the native\n" \
- " tool so it can use the capabilities of the\n" \
- " calling terminal (e.g. colored output).\n" \
+ " --use-stderr = Ignored. Behavior is default in CMake >= 3.0.\n" \
" -- = Pass remaining options to the native tool.\n"
//----------------------------------------------------------------------------
@@ -372,7 +369,6 @@ static int do_build(int ac, char** av)
std::string dir;
std::vector<std::string> nativeOptions;
bool clean = false;
- cmSystemTools::OutputOption outputflag = cmSystemTools::OUTPUT_MERGE;
enum Doing { DoingNone, DoingDir, DoingTarget, DoingConfig, DoingNative};
Doing doing = DoingDir;
@@ -397,7 +393,7 @@ static int do_build(int ac, char** av)
}
else if(strcmp(av[i], "--use-stderr") == 0)
{
- outputflag = cmSystemTools::OUTPUT_PASSTHROUGH;
+ /* tolerate legacy option */
}
else if(strcmp(av[i], "--") == 0)
{
@@ -444,6 +440,6 @@ static int do_build(int ac, char** av)
}
cmake cm;
- return cm.Build(dir, target, config, nativeOptions, clean, outputflag);
+ return cm.Build(dir, target, config, nativeOptions, clean);
#endif
}