Pārlūkot izejas kodu

cmake: Extract PrintMessagePreamble method.

Stephen Kelly 10 gadi atpakaļ
vecāks
revīzija
ca7cc2ebd0
2 mainītis faili ar 19 papildinājumiem un 8 dzēšanām
  1. 17 8
      Source/cmake.cxx
  2. 2 0
      Source/cmake.h

+ 17 - 8
Source/cmake.cxx

@@ -2436,14 +2436,8 @@ static bool cmakeCheckStampList(const char* stampList)
   return true;
 }
 
-//----------------------------------------------------------------------------
-void cmake::IssueMessage(cmake::MessageType t, std::string const& text,
-                         cmListFileBacktrace const& bt)
+bool cmake::PrintMessagePreamble(cmake::MessageType t, std::ostream& msg)
 {
-  cmListFileBacktrace backtrace = bt;
-  backtrace.MakeRelative();
-
-  std::ostringstream msg;
   // Construct the message header.
   if(t == cmake::FATAL_ERROR)
     {
@@ -2475,11 +2469,26 @@ void cmake::IssueMessage(cmake::MessageType t, std::string const& text,
                                         "CMAKE_SUPPRESS_DEVELOPER_WARNINGS");
       if(suppress && cmSystemTools::IsOn(suppress))
         {
-        return;
+        return false;
         }
       msg << " (dev)";
       }
     }
+  return true;
+}
+
+//----------------------------------------------------------------------------
+void cmake::IssueMessage(cmake::MessageType t, std::string const& text,
+                         cmListFileBacktrace const& bt)
+{
+  cmListFileBacktrace backtrace = bt;
+  backtrace.MakeRelative();
+
+  std::ostringstream msg;
+  if (!this->PrintMessagePreamble(t, msg))
+    {
+    return;
+    }
 
   // Add the immediate context.
   backtrace.PrintTitle(msg);

+ 2 - 0
Source/cmake.h

@@ -399,6 +399,8 @@ private:
 
   // Print a list of valid generators to stderr.
   void PrintGeneratorList();
+
+  bool PrintMessagePreamble(cmake::MessageType t, std::ostream& msg);
 };
 
 #define CMAKE_STANDARD_OPTIONS_TABLE \