From 949a1e120a3c2d9ecac08f7240a27d307fad503f Mon Sep 17 00:00:00 2001 From: Alex Turbov Date: Tue, 13 Aug 2019 01:25:07 +0300 Subject: message: New message types to mark checks performed by CMake Closes #19638. Co-Authored-By: Craig Scott --- Source/cmake.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'Source/cmake.h') diff --git a/Source/cmake.h b/Source/cmake.h index c2f2cce1cc..9e78436ff7 100644 --- a/Source/cmake.h +++ b/Source/cmake.h @@ -5,12 +5,15 @@ #include "cmConfigure.h" // IWYU pragma: keep +#include #include #include #include #include +#include #include #include +#include #include #include "cmGeneratedFileStream.h" @@ -387,6 +390,25 @@ public: void SetLogLevel(LogLevel level) { this->MessageLogLevel = level; } static LogLevel StringToLogLevel(const std::string& levelStr); + bool HasCheckInProgress() const + { + return !this->CheckInProgressMessages.empty(); + } + std::size_t GetCheckInProgressSize() const + { + return this->CheckInProgressMessages.size(); + } + std::string GetTopCheckInProgressMessage() + { + auto message = this->CheckInProgressMessages.top(); + this->CheckInProgressMessages.pop(); + return message; + } + void PushCheckInProgressMessage(std::string message) + { + this->CheckInProgressMessages.emplace(std::move(message)); + } + //! Do we want debug output during the cmake run. bool GetDebugOutput() { return this->DebugOutput; } void SetDebugOutputOn(bool b) { this->DebugOutput = b; } @@ -596,6 +618,8 @@ private: bool LogLevelWasSetViaCLI = false; bool LogContext = false; + std::stack CheckInProgressMessages; + void UpdateConversionPathTable(); //! Print a list of valid generators to stderr. -- cgit v1.2.1