diff options
-rw-r--r-- | Help/release/dev/cmake-verbose-print-build-tool-command.rst | 5 | ||||
-rw-r--r-- | Source/cmake.cxx | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/Help/release/dev/cmake-verbose-print-build-tool-command.rst b/Help/release/dev/cmake-verbose-print-build-tool-command.rst new file mode 100644 index 0000000..4f13231 --- /dev/null +++ b/Help/release/dev/cmake-verbose-print-build-tool-command.rst @@ -0,0 +1,5 @@ +cmake-verbose-print-build-tool-command +-------------------------------------- + +* ``cmake --build $dir --verbose`` will now print the working directory and + command line used to perform the build. diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 0fd7461..868728f 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -3699,10 +3699,19 @@ int cmake::Build(int jobs, std::string dir, std::vector<std::string> targets, } this->GlobalGenerator->PrintBuildCommandAdvice(std::cerr, jobs); - return this->GlobalGenerator->Build( + int buildresult = this->GlobalGenerator->Build( jobs, "", dir, projName, targets, output, "", config, buildOptions, verbose, cmDuration::zero(), cmSystemTools::OUTPUT_PASSTHROUGH, nativeOptions); + + if (verbose) { + // `cmGlobalGenerator::Build` logs metadata about what directory and + // commands are being executed to the `output` parameter. If CMake is + // verbose, print this out. + std::cout << output; + } + + return buildresult; } bool cmake::Open(const std::string& dir, bool dryRun) |