summaryrefslogtreecommitdiffstats
path: root/Source/cmMessenger.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2016-01-28 21:10:27 (GMT)
committerBrad King <brad.king@kitware.com>2016-08-25 13:47:27 (GMT)
commit421012a330989a64b24a3289379bb4938e6ed3ea (patch)
tree02c059dff6075626a5edaeedcb8477ea6aaa058e /Source/cmMessenger.h
parent14a8d61fd49a9b990cbef7e1495e4763f31c55f2 (diff)
downloadCMake-421012a330989a64b24a3289379bb4938e6ed3ea.zip
CMake-421012a330989a64b24a3289379bb4938e6ed3ea.tar.gz
CMake-421012a330989a64b24a3289379bb4938e6ed3ea.tar.bz2
cmMessenger: Extract from cmake class
This way messages can be issued independent of the cmake instance. It is now possible to make DisplayMessage a virtual interface and override it to handle messages in the cmake-gui or future IDE interaction interfaces.
Diffstat (limited to 'Source/cmMessenger.h')
-rw-r--r--Source/cmMessenger.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/Source/cmMessenger.h b/Source/cmMessenger.h
new file mode 100644
index 0000000..f15bf13
--- /dev/null
+++ b/Source/cmMessenger.h
@@ -0,0 +1,44 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+
+#ifndef cmMessenger_h
+#define cmMessenger_h
+
+#include "cmListFileCache.h"
+#include "cmState.h"
+#include "cmake.h"
+
+class cmMessenger
+{
+public:
+ cmMessenger(cmState* state);
+
+ void IssueMessage(
+ cmake::MessageType t, std::string const& text,
+ cmListFileBacktrace const& backtrace = cmListFileBacktrace()) const;
+
+ void DisplayMessage(cmake::MessageType t, std::string const& text,
+ cmListFileBacktrace const& backtrace) const;
+
+ bool GetSuppressDevWarnings() const;
+ bool GetSuppressDeprecatedWarnings() const;
+ bool GetDevWarningsAsErrors() const;
+ bool GetDeprecatedWarningsAsErrors() const;
+
+private:
+ bool IsMessageTypeVisible(cmake::MessageType t) const;
+ cmake::MessageType ConvertMessageType(cmake::MessageType t) const;
+
+ cmState* State;
+};
+
+#endif