Просмотр исходного кода

Makefiles generator: dependencies messages in verbose mode

Fixes: #23689
Marc Chevrier 3 лет назад
Родитель
Сommit
9480ced81a

+ 23 - 14
Source/cmLocalUnixMakefileGenerator3.cxx

@@ -1412,13 +1412,16 @@ bool cmLocalUnixMakefileGenerator3::UpdateDependencies(
 
 
     if (needRescanDependInfo || needRescanDirInfo || needRescanDependencies) {
     if (needRescanDependInfo || needRescanDirInfo || needRescanDependencies) {
       // The dependencies must be regenerated.
       // The dependencies must be regenerated.
-      std::string targetName = cmSystemTools::GetFilenameName(targetDir);
-      targetName = targetName.substr(0, targetName.length() - 4);
-      std::string message =
-        cmStrCat("Scanning dependencies of target ", targetName);
-      cmSystemTools::MakefileColorEcho(cmsysTerminal_Color_ForegroundMagenta |
-                                         cmsysTerminal_Color_ForegroundBold,
-                                       message.c_str(), true, color);
+      if (verbose) {
+        std::string targetName = cmSystemTools::GetFilenameName(targetDir);
+        targetName = targetName.substr(0, targetName.length() - 4);
+        std::string message =
+          cmStrCat("Scanning dependencies of target ", targetName);
+        cmSystemTools::MakefileColorEcho(
+          cmsysTerminal_Color_ForegroundMagenta |
+            cmsysTerminal_Color_ForegroundBold,
+          message.c_str(), true, color);
+      }
 
 
       status = this->ScanDependencies(targetDir, dependFile,
       status = this->ScanDependencies(targetDir, dependFile,
                                       internalDependFile, validDependencies);
                                       internalDependFile, validDependencies);
@@ -1447,13 +1450,19 @@ bool cmLocalUnixMakefileGenerator3::UpdateDependencies(
                                         this->GetBinaryDirectory())
                                         this->GetBinaryDirectory())
                       : std::function<bool(const std::string&)>())) {
                       : std::function<bool(const std::string&)>())) {
       // regenerate dependencies files
       // regenerate dependencies files
-      std::string targetName =
-        cmCMakePath(targetDir).GetFileName().RemoveExtension().GenericString();
-      auto message = cmStrCat(
-        "Consolidate compiler generated dependencies of target ", targetName);
-      cmSystemTools::MakefileColorEcho(cmsysTerminal_Color_ForegroundMagenta |
-                                         cmsysTerminal_Color_ForegroundBold,
-                                       message.c_str(), true, color);
+      if (verbose) {
+        std::string targetName = cmCMakePath(targetDir)
+                                   .GetFileName()
+                                   .RemoveExtension()
+                                   .GenericString();
+        auto message =
+          cmStrCat("Consolidate compiler generated dependencies of target ",
+                   targetName);
+        cmSystemTools::MakefileColorEcho(
+          cmsysTerminal_Color_ForegroundMagenta |
+            cmsysTerminal_Color_ForegroundBold,
+          message.c_str(), true, color);
+      }
 
 
       // Open the make depends file.  This should be copy-if-different
       // Open the make depends file.  This should be copy-if-different
       // because the make tool may try to reload it needlessly otherwise.
       // because the make tool may try to reload it needlessly otherwise.

+ 2 - 2
Tests/RunCMake/CommandLine/RunCMakeTest.cmake

@@ -940,8 +940,8 @@ set(CMAKE_DEPENDS_CHECK_C
 set(CMAKE_RELATIVE_PATH_TOP_SOURCE \"${RunCMake_TEST_SOURCE_DIR}\")
 set(CMAKE_RELATIVE_PATH_TOP_SOURCE \"${RunCMake_TEST_SOURCE_DIR}\")
 set(CMAKE_RELATIVE_PATH_TOP_BINARY \"${RunCMake_TEST_BINARY_DIR}\")
 set(CMAKE_RELATIVE_PATH_TOP_BINARY \"${RunCMake_TEST_BINARY_DIR}\")
 ")
 ")
-  run_cmake_command(cmake_depends ${CMAKE_COMMAND} -E cmake_depends
-    "Unix Makefiles"
+  run_cmake_command(cmake_depends ${CMAKE_COMMAND} -E env VERBOSE=1
+    ${CMAKE_COMMAND} -E cmake_depends "Unix Makefiles"
     ${RunCMake_TEST_SOURCE_DIR} ${RunCMake_TEST_SOURCE_DIR}
     ${RunCMake_TEST_SOURCE_DIR} ${RunCMake_TEST_SOURCE_DIR}
     ${RunCMake_TEST_BINARY_DIR} ${RunCMake_TEST_BINARY_DIR}
     ${RunCMake_TEST_BINARY_DIR} ${RunCMake_TEST_BINARY_DIR}
     ${RunCMake_TEST_BINARY_DIR}/CMakeFiles/DepTarget.dir/DependInfo.cmake
     ${RunCMake_TEST_BINARY_DIR}/CMakeFiles/DepTarget.dir/DependInfo.cmake

+ 1 - 1
Tests/RunCMake/CommandLine/cmake_depends-stdout.txt

@@ -1 +1 @@
-^Scanning dependencies of target DepTarget$
+Scanning dependencies of target DepTarget$