From cdf5f34b0c2ce8b984721f13a4dcd598a3d593e3 Mon Sep 17 00:00:00 2001 From: Justin Goshi Date: Tue, 7 Nov 2017 11:34:31 -0800 Subject: server: return minimum cmake required version for each project --- Help/manual/cmake-server.7.rst | 3 +++ Source/cmServerDictionary.h | 1 + Source/cmServerProtocol.cxx | 2 ++ 3 files changed, 6 insertions(+) diff --git a/Help/manual/cmake-server.7.rst b/Help/manual/cmake-server.7.rst index a2fd961..ee8fada 100644 --- a/Help/manual/cmake-server.7.rst +++ b/Help/manual/cmake-server.7.rst @@ -458,6 +458,9 @@ Each project object can have the following keys: "name" contains the (sub-)projects name. +"minimumCMakeVersion" + contains the minimum cmake version allowed for this project, null if the + project doesn't specify one. "hasInstallRule" true if the project contains any install rules, false otherwise. "sourceDirectory" diff --git a/Source/cmServerDictionary.h b/Source/cmServerDictionary.h index 040c1fd..8cd5e14 100644 --- a/Source/cmServerDictionary.h +++ b/Source/cmServerDictionary.h @@ -95,6 +95,7 @@ static const std::string kHAS_ENABLED_TESTS = "hasEnabledTests"; static const std::string kCTEST_NAME = "ctestName"; static const std::string kCTEST_COMMAND = "ctestCommand"; static const std::string kCTEST_INFO = "ctestInfo"; +static const std::string kMINIMUM_CMAKE_VERSION = "minimumCMakeVersion"; static const std::string kTARGET_CROSS_REFERENCES_KEY = "crossReferences"; static const std::string kLINE_NUMBER_KEY = "line"; diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx index 0cb906b..07df488 100644 --- a/Source/cmServerProtocol.cxx +++ b/Source/cmServerProtocol.cxx @@ -1116,6 +1116,8 @@ static Json::Value DumpProjectList(const cmake* cm, std::string const& config) // Project structure information: const cmMakefile* mf = lg->GetMakefile(); + pObj[kMINIMUM_CMAKE_VERSION] = + mf->GetDefinition("CMAKE_MINIMUM_REQUIRED_VERSION"); pObj[kHAS_INSTALL_RULE] = mf->GetInstallGenerators().empty() == false; pObj[kSOURCE_DIRECTORY_KEY] = mf->GetCurrentSourceDirectory(); pObj[kBUILD_DIRECTORY_KEY] = mf->GetCurrentBinaryDirectory(); -- cgit v0.12