diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 112a5f784..0c8428398 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -234,7 +234,7 @@ cmake::~cmake() } #if defined(CMAKE_BUILD_WITH_CMAKE) -Json::Value cmake::ReportCapabilitiesJson() const +Json::Value cmake::ReportCapabilitiesJson(bool haveServerMode) const { Json::Value obj = Json::objectValue; // Version information: @@ -280,22 +280,18 @@ Json::Value cmake::ReportCapabilitiesJson() const generators.append(i->second); } obj["generators"] = generators; + obj["serverMode"] = haveServerMode; -#if defined(HAVE_SERVER_MODE) && HAVE_SERVER_MODE - obj["serverMode"] = true; -#else - obj["serverMode"] = false; -#endif return obj; } #endif -std::string cmake::ReportCapabilities() const +std::string cmake::ReportCapabilities(bool haveServerMode) const { std::string result; #if defined(CMAKE_BUILD_WITH_CMAKE) Json::FastWriter writer; - result = writer.write(this->ReportCapabilitiesJson()); + result = writer.write(this->ReportCapabilitiesJson(haveServerMode)); #else result = "Not supported"; #endif diff --git a/Source/cmake.h b/Source/cmake.h index 6095a59ae..a21c9ca1b 100644 --- a/Source/cmake.h +++ b/Source/cmake.h @@ -123,9 +123,9 @@ public: ~cmake(); #if defined(CMAKE_BUILD_WITH_CMAKE) - Json::Value ReportCapabilitiesJson() const; + Json::Value ReportCapabilitiesJson(bool haveServerMode) const; #endif - std::string ReportCapabilities() const; + std::string ReportCapabilities(bool haveServerMode) const; static const char* GetCMakeFilesDirectory() { return "/CMakeFiles"; } static const char* GetCMakeFilesDirectoryPostSlash() diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx index 900bba05a..3b385ab2e 100644 --- a/Source/cmcmd.cxx +++ b/Source/cmcmd.cxx @@ -527,7 +527,11 @@ int cmcmd::ExecuteCMakeCommand(std::vector& args) return 1; } cmake cm; - std::cout << cm.ReportCapabilities(); +#if defined(HAVE_SERVER_MODE) && HAVE_SERVER_MODE + std::cout << cm.ReportCapabilities(true); +#else + std::cout << cm.ReportCapabilities(false); +#endif return 0; }