summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
diff options
context:
space:
mode:
authorAlex Turbov <i.zaufi@gmail.com>2016-06-13 19:27:58 (GMT)
committerBrad King <brad.king@kitware.com>2016-06-17 15:46:23 (GMT)
commite63151ff543bb665fea255713e2e643e64527517 (patch)
tree21ed366673a8deea535ec334ca4f63d90fef471d /Source/cmake.cxx
parent9e4725560493fdac423102469da6dbe1779383c4 (diff)
downloadCMake-e63151ff543bb665fea255713e2e643e64527517.zip
CMake-e63151ff543bb665fea255713e2e643e64527517.tar.gz
CMake-e63151ff543bb665fea255713e2e643e64527517.tar.bz2
cmake: Add an option to control what files needs to be traced
Even in relatively small projects using `--trace` (and `--trace-expand`) may produce a lot of output. When developing a custom module usually one is interested in output of only a few particular modules. Add a `--trace-source=<file>` option to enable tracing only a subset of source files. The final output would be only from requested modules, ignoring anything else not matched to given filename(s).
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r--Source/cmake.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index db0072a..654100b 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -589,6 +589,11 @@ void cmake::SetArgs(const std::vector<std::string>& args,
std::cout << "Running with expanded trace output on.\n";
this->SetTrace(true);
this->SetTraceExpand(true);
+ } else if (arg.find("--trace-source=", 0) == 0) {
+ std::string file = arg.substr(strlen("--trace-source="));
+ cmSystemTools::ConvertToUnixSlashes(file);
+ this->AddTraceSource(file);
+ this->SetTrace(true);
} else if (arg.find("--trace", 0) == 0) {
std::cout << "Running with trace output on.\n";
this->SetTrace(true);