summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2016-09-09 08:01:43 (GMT)
committerTobias Hunger <tobias.hunger@qt.io>2016-09-12 15:24:06 (GMT)
commitc73967cb4a0217b2d0825f67d6fd56af2b4d6b7f (patch)
treefba921dd4a139556673c520c9d7727ce572517db
parent366e38284d0a111542a5c87ded6ad21fa641cb2c (diff)
downloadCMake-c73967cb4a0217b2d0825f67d6fd56af2b4d6b7f.zip
CMake-c73967cb4a0217b2d0825f67d6fd56af2b4d6b7f.tar.gz
CMake-c73967cb4a0217b2d0825f67d6fd56af2b4d6b7f.tar.bz2
cmake: Introduce ReportCapabilitiesJson
Introduce cmake::ReportCapabilitiesJson which returns a the Json object that is serialized in cmake::ReportCapabilities. This allows to re-use the information in cmake-server.
-rw-r--r--Source/cmake.cxx17
-rw-r--r--Source/cmake.h7
2 files changed, 19 insertions, 5 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index d6bea3d..4edf228 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -35,7 +35,7 @@
#if defined(CMAKE_BUILD_WITH_CMAKE)
#include "cmGraphVizWriter.h"
#include "cmVariableWatch.h"
-#include <cm_jsoncpp_value.h>
+
#include <cm_jsoncpp_writer.h>
#endif
@@ -233,10 +233,9 @@ cmake::~cmake()
delete this->FileComparison;
}
-std::string cmake::ReportCapabilities() const
-{
- std::string result;
#if defined(CMAKE_BUILD_WITH_CMAKE)
+Json::Value cmake::ReportCapabilitiesJson() const
+{
Json::Value obj = Json::objectValue;
// Version information:
Json::Value version = Json::objectValue;
@@ -287,8 +286,16 @@ std::string cmake::ReportCapabilities() const
#else
obj["serverMode"] = false;
#endif
+ return obj;
+}
+#endif
+
+std::string cmake::ReportCapabilities() const
+{
+ std::string result;
+#if defined(CMAKE_BUILD_WITH_CMAKE)
Json::FastWriter writer;
- result = writer.write(obj);
+ result = writer.write(this->ReportCapabilitiesJson());
#else
result = "Not supported";
#endif
diff --git a/Source/cmake.h b/Source/cmake.h
index 9dc429d..8dd0128 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -24,6 +24,10 @@
#include <string>
#include <vector>
+#if defined(CMAKE_BUILD_WITH_CMAKE)
+#include "cm_jsoncpp_value.h"
+#endif
+
class cmExternalMakefileProjectGeneratorFactory;
class cmFileTimeComparison;
class cmGlobalGenerator;
@@ -118,6 +122,9 @@ public:
/// Destructor
~cmake();
+#if defined(CMAKE_BUILD_WITH_CMAKE)
+ Json::Value ReportCapabilitiesJson() const;
+#endif
std::string ReportCapabilities() const;
static const char* GetCMakeFilesDirectory() { return "/CMakeFiles"; }